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