基于多维数组Javascript中的键获取所有值

Fetch all values based on key in multidimensional array Javascript

本文关键字:获取 于多维 数组 Javascript      更新时间:2023-09-26

输入阵列:

   [
     Object { 
               kid="16145", 
               tid="5045", 
               kname="best landlord insurance rates", more...
     }, 
     Object { 
            kid="22586", 
            tid="5045", 
            kname="car insurance deals", more...
    }, 
    Object { 
            kid="49004", 
            tid="5045", 
            kname="landlord and tenant insurance", more...
    }
 ]

在上面的数组中,我需要获取所有具有关键字"kid"的值。

所需输出:

     array(16145,22586,490004);  

**不循环输入阵列

仅使用数组映射或数组搜索或任何其他JS数组/对象函数

谢谢。

请注意,这不是一个多维数组。这是一个简单的对象数组。

如果所有对象都有kid属性,那么map:的使用就很简单了

var values = theArray.map(function(entry) { return entry.kid; });

如果只有某些对象具有kid属性,则forEach:

var values = [];
theArray.forEach(function(entry) {
    if (entry.hasOwnProperty("kid")) {
        values.push(entry.kid);
    }
});

请注意,这两个选项都在数组中循环,这是不可避免的。

它可以像这个

var newArray = yourArray.map(function(obj) {
    return obj.kid;
});

参考MDN javascript.map