首页 > js数组 对象过滤问题

js数组 对象过滤问题

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

求解答方式 最好附上源码


obj.reduce((res,term) => term.status == 2 ? res.concat(term) : res,[])

坐等更好方案:

'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;

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 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 tmp = [];
for (var i = 0; i < arr.length; i++) {
    if (arr[i].status === 2) {
        tmp.push(arr[i].appid);
    }
}
return tmp;

把你的双引号给改了。


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

【热门文章】
【热门文章】