【问题标题】:remove element from array compared to the second array与第二个数组相比,从数组中删除元素
【发布时间】:2018-03-27 10:04:17
【问题描述】:

大家好,我有两个数组:array1 和 array2。解释问题有点复杂

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];

我想要一个 array3 来比较 array1 和 array2 中的索引并将结果发送到数组 3 所以我的 array3 应该是这样的

var array3 = [55,28,58,56]

我确实尝试了很多解决方案,但都没有成功。感谢您的帮助,并对我的新手问题感到抱歉-我正在努力学习。

【问题讨论】:

  • 你研究过减速器吗?
  • 发布最接近您想要的代码。我们可以帮助您解决问题。
  • 我确实尝试了很多解决方案,但我没有成功所以展示你的尝试。
  • 你到底比较了什么?我无法获得您提供的解决方案背后的算法。
  • 很抱歉发布这个新手问题

标签: javascript html arrays


【解决方案1】:

首先你不需要为自己是新手而道歉,我们在职业生涯的某个阶段都是新手,我们仍然每天都在学习新事物

其次,您需要在第二个数组上使用过滤器,并根据您过滤后的索引返回一个新数组

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];


var result = array2.filter(function(x, i) {
  return array1[i] !== '*';
});

console.log(result);

【讨论】:

  • 感谢您的宝贵时间,抱歉
【解决方案2】:

您可以检查第一个数组并从第二个仅返回相同索引处的项目而不带星号。

var array1 = [39, "*", 62, "*", "*", 33.09, "*", 56],
    array2 = [55, 6, 28, 32, 66, 58, 15, 56],
    result = array2.filter((a, i) => array1[i] !== '*');
    
console.log(result);

【讨论】:

  • 感谢您的宝贵时间,抱歉
【解决方案3】:

您可以像这样使用.filter() 过滤第二个数组的元素:

let a1 = [39, "*", 62, "*", "*", 33.09, "*", 56],
    a2 = [55, 6, 28, 32, 66, 58, 15, 56],
    skipElem = "*";

let result = a2.filter((_, i) => a1[i] !== skipElem);

console.log(result);

文档:

【讨论】:

  • 感谢您的宝贵时间,抱歉
【解决方案4】:

使用filter

var array3 = array2.filter( (s, i) => array1[i] != "*")

演示

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];
var array3 = array2.filter( (s, i) => array1[i] != "*");
console.log(array3);

【讨论】:

  • 感谢您的宝贵时间,抱歉
  • @Reactivelance 对不起什么?
  • 太多人在我的问题上放了-5,所以这意味着我做错了,但我只是想学习
  • 我猜反对票只是为了展示需求,而不是你自己解决需求的尝试。
【解决方案5】:

var array1 = [39, "*", 62, "*", "*", 33.09,"*",56];
var array2 = [55, 6, 28, 32, 66, 58,15,56];
var array3 = [];

for(var index=0;index< array1.length ;index++){
	if(array1[index] !== "*")	{
  	array3.push(array2[index]);
  }
}
console.log(array3);

【讨论】:

  • 感谢您的宝贵时间,抱歉
猜你喜欢
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 2019-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-16
  • 2016-10-31
相关资源
最近更新 更多