var nodedata=[];
angular.foreach(splitDatas,function(item){
//这里可能是7,9,20,30,可否有一个地方专门写这个需要的数字呢
if (item.nodeIndex==7) {
nodedata.push(item);
}
scope.nodedata=nodedata;
});
如图,splitDatas可能包含nodeIndex在1到31的数组,然后,
取出自己想要的几个作为新的数组,如何方便快捷地写。以后也可以方便地改呢?
==========================================================
按照网友的提示,用filter和indexOf,不行啊,得到的结果是[]。
var splitDatas=jsonData.nodeStatusValue.split(',').map(function(v){
var itemArr = v.split('-');
return {
nodeIndex: itemArr[0],
status: itemArr[1],
}
});
var nodedata=splitDatas.filter(function(element,index,array) {
console.log("element",element);
return ([7,13,17,23,30].indexOf(element.nodeIndex) > -1);
});
console.log("nodedata:",nodedata);

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
试试这样?
for循环加if判断就可以了,逻辑你都懂了,没必要用forEach,性能和可读性都不好。
如果可以用数组元素判断是否要加入新数组,可以用数组的filter方法