js数组 对象过滤问题

[
{“appid”:“7e2702c3”,”status”:0},
{“appid”:”ad02cfe0”,”status”:1},
{“appid”:”5a64af02”,”status”:2}
]
//把status==2的appid放在新数组中
["5a64af02"]

求解答方式 最好附上源码

阅读 11.6k
9 个回答

坐等更好方案:

'use strict';

var arr = [
    {appid: '7e2702c3', status: 0},
    {appid: 'ad02cfe0', status: 1},
    {appid: '5a64af02', status: 2}
];

var newArr = arr
    .filter(item => item.status === 2)
    .map(item => item.appid);

console.log(newArr);//[ '5a64af02' ]
var arr = new Array();
for(var x in obj){
    if(obj.hasOwnProperty(x) ){
        if(obj[x].status == 2){
            arr.push(obj[x].appid);
        }
    }
}
var arr = [ 
    {'appid':'7e2702c3','status':0},
    {'appid':'ad02cfe0','status':1},
    {'appid':'5a64af02','status':2}
];
arr.find(i => i.status == 2).appid;
obj.reduce((res,term) => term.status == 2 ? res.concat(term) : res,[])
var arr = [ 
{“appid”:“7e2702c3”,”status”:0},
{“appid”:”ad02cfe0”,”status”:1},
{“appid”:”5a64af02”,”status”:2}
];
var tmp = [];
for (var i = 0; i < arr.length; i++) {
    if (arr[i].status === 2) {
        tmp.push(arr[i].appid);
    }
}
return tmp;

把你的双引号给改了。

var arr = [ 
        {'appid':'7e2702c3','status':0},
        {'appid':'ad02cfe0','status':1},
        {'appid':'5a64af02','status':2}
    ],
    newArr = [];

arr.map(function(n) {
    if(n.status === 2) {
        newArr.push(n.appid);
    }
})
console.log(newArr);

也可以考虑用filter方法:http://www.w3schools.com/jsref/jsref_filter.asp

var _arr = [ {"appid":"7e2702c3","status":0},
{"appid":"ad02cfe0","status":1},
{"appid":"5a64af02","status":2}];
var _isStatus2 = function(ele){
    if(ele.status === 2) return ele;
}
_arr.find(_isStatus2)
function getArray(colunm, condiction){
   var arr = new Array();
   this.forEach(function(d){
      if(d[colunm] === condiction){
        arr.push(d.appid);
      }
    });
   return arr;
}

var arr = [ 
        {'appid':'7e2702c3','status':0},
        {'appid':'ad02cfe0','status':1},
        {'appid':'5a64af02','status':2}
    ],newArr = [];

console.log(JSON.stringify(getArray.call(arr, 'status', 2)));

var res=[];
res.push(objarr.find(item=>item.status ===2 ).appid)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题