Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中逐个处理数组?_Javascript - Fatal编程技术网

如何在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);