gpt4 book ai didi

javascript - 匹配两个数组是否包含精确的文本值,JSON

转载 作者:行者123 更新时间:2023-12-04 08:04:36 26 4
gpt4 key购买 nike

目标:看看我是否可以匹配两个数组并返回 bool 值 truefalse问题:我想问一下是否有更好的解决方案来匹配两个数组的相同值,例如。

"arr1": ["hello, world, droids"],
"arr2": ["hello, there, Kenobi"]
我发现的一种方法来自另一个 SO 答案 here .但是当我们有像 underscore 和 lodash 这样的实用程序库时,这种方法似乎太牵强了。
我在想的是这样的:
const __ = require('underscore')

if(__.difference(arr1, arr2).length > 0) {
console.log('not same')
} else {
console.log('same')
}
我对编程非常陌生,所以我不确定其中哪一个应该适用于生产,或者我的想法是否正确。
接下来我还将添加我找到的 SO 答案。
var areJSONArraysEqual = function(jsonArray1,
jsonArray2) {

if(jsonArray1.length===0||jsonArray2.length===0){
if(jsonArray1.length===0 && jsonArray2.length===0){
return true;
}else{
return false;
}
}

for(var i=0;i<jsonArray1.length;i++){
for ( var key in jsonArray1[i]) {
if(jsonArray1[i][key].length>1){
return areJSONArraysEqual(jsonArray1[i][key],jsonArray2[i][key])
}
if (jsonArray1[i][key] != jsonArray2[i][key]) {
return false;
}
}
}
return true;
};

最佳答案

看来您要做的是进行深入的平等比较。您可以使用 _.isEqual 在 Underscore(和 Lodash)中执行此操作.例如:

const _ = require('underscore');

const arr1 = ["hello, world, droids"];
const arr2 = ["hello, there, Kenobi"];

console.log(_.isEqual(arr1, arr2)); // false

关于javascript - 匹配两个数组是否包含精确的文本值,JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66281678/

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