javascript - js获取数组特定的index的对象,如何方便快捷?

查看:109
本文介绍了javascript - js获取数组特定的index的对象,如何方便快捷?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

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

解决方案

    var splitDatas = [];
    for (var i=1; i<=31; i++) {
        splitDatas[i] = {
            nodeIndex: i
        };
    }

    var arr = splitDatas.filter(function(element, index, array) {
        return ([7,9,20,30].indexOf(element.nodeIndex) > -1);
    });

    console.log(arr);

试试这样?

这篇关于javascript - js获取数组特定的index的对象,如何方便快捷?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆