javascript - js数组 对象过滤问题
伊谢尔伦
伊谢尔伦 2017-04-11 10:06:23
[JavaScript讨论组]

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

求解答方式 最好附上源码

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(9)
PHP中文网

坐等更好方案:

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

把你的双引号给改了。

PHP中文网
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)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号