请问JavaScript根据item中的key值来提取数组怎么做?

假设有如下数组:

var array = [
    {id:1,color:"red"},
    {id:2,color:"blue"},
    {id:3,color:"white"},
    {id:4,color:"red"},
    {id:5,color:"blue"},
    {id:6,color:"gray"}
];

现在我想提取出来color:"red"的元素组成一个新的数组,即
var arr = [{id:1,color:"red"},{id:4,color:"red"}],
请问应该怎么做?
新手,求解答~

阅读 4.6k
3 个回答
var resultArray = array.filter(function(item){
    return item && item.color == 'red';
})
var array = [
    {id:1,color:"red"},
    {id:2,color:"blue"},
    {id:3,color:"white"},
    {id:4,color:"red"},
    {id:5,color:"blue"},
    {id:6,color:"gray"}
];

var newArray = [];

array.forEach(function(el) {
    if(el.color == 'red') {
        newArray.push(el);
    }
})

循环找到 color=='red' 的一项,添加到空数组arr中啊

var arr=[];
for(var i=0,len=array.length;i<len;i++){
  var item=array[i];
  if(item.color=='red'){
    arr.push(item);
  }
}
console.log(arr);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题