在JavaScript或angularjs中,有没有一种优雅的方法可以从二维数组中仅获取一维?

在JavaScript或angularjs中,有没有一种优雅的方法可以从二维数组中仅获取一维?,javascript,arrays,angularjs,multidimensional-array,Javascript,Arrays,Angularjs,Multidimensional Array,有没有一种方法可以只获取数组的一个维度,而不必遍历整个数组来提取它们 为了证明我在这个网站上提问之前确实试图解决我自己的问题,我尝试使用过滤器和循环来获取我需要的数据。我为我在下面输入的每个选项选择了 以下是我的示例数据: dataArray = [ {id: 'ABCDEF', name: 'ABC DEF'}, {id:'WINDY', name: 'Windy' }, {id: 'RSTETC', name: 'RST ETC'}, {id: 'MCHSDXCVDEULH',

有没有一种方法可以只获取数组的一个维度,而不必遍历整个数组来提取它们

为了证明我在这个网站上提问之前确实试图解决我自己的问题,我尝试使用过滤器和循环来获取我需要的数据。我为我在下面输入的每个选项选择了

以下是我的示例数据:

dataArray = 
 [ 
 {id: 'ABCDEF', name: 'ABC DEF'},
 {id:'WINDY', name: 'Windy' },
 {id: 'RSTETC', name: 'RST ETC'},
 {id: 'MCHSDXCVDEULH', name: 'MCHS DXCVD EULH'}
 ]
以下是我为将所有名称值放入新数组所做的工作:

if (dataArray.length) {
 var nameList =[];
 angular.forEach(dataArray, function(dep, idx) {
   nameList.push(dep.name);
 });
}
你可以使用.map。自:

map方法创建一个新的数组,其结果是对调用数组中的每个元素调用提供的函数

让数据=[ {id:'ABCDEF',name:'ABC DEF'},{id:'WINDY',name:'WINDY'}, {id:'RSTETC',name:'RST ETC'},{id:'MCHSDXCVDEULH',name:'MCHS DXCVD EULH'} ]; 让result=data.map{name}=>name; console.logresult 你可以使用.map。自:

map方法创建一个新的数组,其结果是对调用数组中的每个元素调用提供的函数

让数据=[ {id:'ABCDEF',name:'ABC DEF'},{id:'WINDY',name:'WINDY'}, {id:'RSTETC',name:'RST ETC'},{id:'MCHSDXCVDEULH',name:'MCHS DXCVD EULH'} ]; 让result=data.map{name}=>name; console.logresult 你可以用。它创建一个新数组,其中包含对调用数组中的每个元素调用提供函数的结果

dataArray=[ {id:'ABCDEF',name:'ABC DEF'}, {id:'WINDY',name:'WINDY'}, {id:'RSTETC',name:'RST ETC'}, {id:'MCHSDXCVDEULH',name:'MCHS DXCVD EULH'} ]; console.log dataArray.mapdata=>data.name 你可以用。它创建一个新数组,其中包含对调用数组中的每个元素调用提供函数的结果

dataArray=[ {id:'ABCDEF',name:'ABC DEF'}, {id:'WINDY',name:'WINDY'}, {id:'RSTETC',name:'RST ETC'}, {id:'MCHSDXCVDEULH',name:'MCHS DXCVD EULH'} ]; console.log dataArray.mapdata=>data.name 使用方法。 你的情况应该是这样的

dataArray=dataArray.mapdata=>data.name

使用方法。 你的情况应该是这样的


dataArray=dataArray.mapdata=>data.name

Map本来是这个问题的完美答案,但在我的特殊情况下,我们必须支持IE版本,所以这不是一个可行的选择。我必须保持我输入代码的方式,使用循环:

Map本来是这个问题的完美答案,但在我的特殊情况下,我们必须支持IE版本,所以这不是一个可行的选择。我必须保持我输入代码的方式,使用循环:

dataArray.mape=>e.name;?。。名字是唯一的吗?如果是这样,您可以使用一个集合:Array.fromnew SetdataArray.mape=>e.name;dataArray.mape=>e.name;?。。名字是唯一的吗?如果是这样,您可以使用一个集合:Array.fromnew SetdataArray.mape=>e.name;