如何在javascript中逐个处理数组?
我在一个流中有一个值数组,您希望对其进行管道处理,这样它将逐个地发出数组值,并等待它们全部完成,然后再处理另一个数组如何在javascript中逐个处理数组?,javascript,Javascript,我在一个流中有一个值数组,您希望对其进行管道处理,这样它将逐个地发出数组值,并等待它们全部完成,然后再处理另一个数组 // This is the array: let arr = [[1,2,3], [4,5,6]]; let data = arr.filter( (value) => { let newdata = value.filter((newVal, index) => { if (newVal !== value[index]) { retur
// This is the array:
let arr = [[1,2,3], [4,5,6]];
let data = arr.filter( (value) => {
let newdata = value.filter((newVal, index) => {
if (newVal !== value[index]) {
return '' ;
}
});
});
console.log(data);
// Output: []
// Expected output: [[], []]
这将返回
对于[],[]
过滤掉那些空白字符串:
arr.map(x => x.map((y, index) => {if(y !== y[index]){return ''}}).filter(z => z !== ""))
在根目录下,使用映射而不是过滤器:
let arr = [[1,2,3], [4,5,6]];
let data = arr.map( (value) => {
let newdata = value.filter((newVal, index) => {
if (newVal !== value[index]) {
return '' ;
}
});
return newdata;
});
console.log(data);
您能否更详细地说明您想要什么,为什么不能直接使用循环?这是否回答了您的问题?你说的是流对象,但你的数组在我看来很标准。您可以在问题中包含一个数组吗?您的arr是一个数组数组,每个数组可以是iterated@Rajat在上面的解决方案中,有两个map和一个filter正在使用,而您可以从代码中避免额外的filter。它将修复你的时间复杂性谢谢你是对的,它对我来说也比你更有效,而且它更易读和理解。塔克斯
let arr = [[1,2,3], [4,5,6]];
let data = arr.map( (value) => {
let newdata = value.filter((newVal, index) => {
if (newVal !== value[index]) {
return '' ;
}
});
return newdata;
});
console.log(data);