gpt4 book ai didi

JavaScript 将数组与数组对象进行比较以查看它们的值是否匹配

转载 作者:行者123 更新时间:2023-11-30 13:59:56 26 4
gpt4 key购买 nike

我有一个数组,我正在尝试比较它以查看数组 1 中的值是否在对象内的任何数组中:

arr1 = [9]

obj1 = {Cards: [8,5], Loans: [], Shares: [0,9,25]}

我正在使用 JavaScript(ECMAScript 5) 尝试执行此操作,如果在 arr1 中找到任何值,我只需要返回 true obj1.

我尝试过的:

function arraysEqual(_arr1, _arr2) {
if (!Array.isArray(_arr1) || !Array.isArray(_arr2) || _arr1.length !== _arr2.length)
return false;
var arr1 = _arr1.concat().sort();
var arr2 = _arr2.concat().sort();
for (var i = 0; i < arr1.length; i++) {
if (arr1[i] !== arr2[i])
return false;
}
return true;
}

然而,这只会测试数组是否特定,所以我必须调用它三次来检查值,即使这样也会在我尝试时返回 false:

arraysEqual(arr1, obj1.Shares)

一个电话就能搞定

最佳答案

你可以检查 every arr1 中的项目在 arr2 中使用 indexOf :

function compare(arr1, arr2) {
return arr1.every(function(n){
return arr2.indexOf(n) > -1
})
}

var arr = [9],
obj = { Cards: [8,5], Loans: [], Shares: [0,9,25] }

console.log(compare(arr, obj.Shares))
console.log(compare(arr, obj.Cards))

关于JavaScript 将数组与数组对象进行比较以查看它们的值是否匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56483537/

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