在2d数组javascript中获取所有0索引数据
let a = [["", "2", "", ""], ["1", "3", "", ""], ["", "", "4", ""]]
index = 0
output = ["", "1", ""]
类似地获取所有剩余的索引数据
index= 1
output = ["2", "3", ""]
答案 0 :(得分:2)
您可以使用reduce
循环遍历arr,并为arr中的每个元素循环遍历,以获得所需的索引值并将其推入op。
let a = [["", "2", "", ""], ["1", "3", "", ""], ["", "", "4", ""]]
function getIndex(arr,index){
return arr.reduce((op,inp) => {
let val = inp.find((e,i) => i === index )
op.push(val)
return op
},[])
}
console.log(getIndex(a,0))
console.log(getIndex(a,1))
答案 1 :(得分:2)
您可以将Array#map
方法与ES6 destructuring feature一起使用。分解有助于从对象(Javascript数组也是对象)中提取某些属性。
let a = [
["", "2", "", ""],
["1", "3", "", ""],
["", "", "4", ""]
];
let index = 0;
let output = a.map(({[ index ]: v }) => v)
console.log(output);
index = 1;
output = a.map(({[ index ]: v }) => v)
console.log(output);
答案 2 :(得分:1)
要获取第一个索引:
const result = Array.map(a=>a[0]);
结果将包含嵌套数组中所有元素的第一个索引。通过遍历数组并获取第一个索引元素来工作
答案 3 :(得分:1)
使用lodash,您可以仅将索引用作迭代器:
const result = _.map(a, 1);