gpt4 book ai didi

javascript - javascript 中数组末尾的未知元素?

转载 作者:行者123 更新时间:2023-11-30 07:33:44 25 4
gpt4 key购买 nike

我对 JavaScript 比较陌生,所以请饶了我吧。在解决 Freecodecamp 的其中一个问题时,需要在两个数组中找到唯一值。我写了一小段代码。

它适用于仅包含整数的数组。比较字符串数组时会出现问题。尾随元素被添加到最终输出数组,它甚至不可见。它应该只为这段代码输出一个值。

像这样。

"[*] Total unique values found = 2"
"[*] Unique values = pink wool,"

这是代码。它被混淆了。

function diffArray(arr1, arr2) {
var newArr = [];
var length1 = arr1.length;
var length2 = arr2.length;
var test = true;
var tab = ' ';
console.log('[*] Starting ... '+tab);

while(arr1.length > 0 && arr2.length > 0 )
{
console.log('[*] Entering while loop.');
reset:
for (var i=0; i<arr2.length; i++)
{
console.log('[*] Comparing '+arr1[0]+' and '+arr2[i]);
if(arr1[0] == arr2[i])
{
console.log('[*] Matched ... ')
console.log(' $ Removig '+arr1[0]+' from arr1 and arr2');
arr1.splice(0, 1);
arr2.splice(i, 1);
console.log(" $ arr1 length = "+arr1.length);
console.log(" $ arr2 length = "+arr2.length);
break reset;
} else if (i == arr2.length-1)
{
console.log(" $ No match found.");
console.log('[*] Pushing '+arr1[0]+' in newArr');
newArr.push(arr1[0]);
arr1.splice(0, 1);

console.log('[*} newArr = '+newArr);
} else {
console.log('[*] Match failed.')
}
}
}

if(arr2.length > 0) {
newArr.push(arr2);
} else {
newArr.push(arr1);
}
console.log('[*] Total unique values found = '+newArr.length);
console.log('[*] Unique values = '+newArr);
}

diffArray(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]);

这里是 JSBin 的链接有工作示例。

这里是 JSBin 的链接字符串数组不起作用..

感谢您的帮助。

最佳答案

只是连接和过滤 double

var diffArray = (arr1, arr2) => arr1.concat(arr2).filter((x,i,arr) => arr.indexOf(x) === arr.lastIndexOf(x));

var res = diffArray(["diorite", "andesite", "grass", "dirt", "pink wool", "dead shrub"], ["diorite", "andesite", "grass", "dirt", "dead shrub"]);

console.log(res);

在旧的 javascript 中:

function diffArray(arr1, arr2) {
return arr1.concat(arr2).filter(function(x,i,arr) {
return arr.indexOf(x) === arr.lastIndexOf(x)
})
}

关于javascript - javascript 中数组末尾的未知元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41416718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com