有没有办法更快地在数组[2D]中找到匹配索引?我知道1比1可以让这一切正常,但我不想。
我试过这个,但它只能返回-1
// mainsheetvalues is array[1D],
[1,2,3,4,5]
// AsheetValues is array [2D]
[
[1,2,3,4,5],
[6,7,8,9,0]
]
Logger.log(mainsheetvalues.indexOf(AsheetValues))
根据这个答案,我们不能直接比较两个数组。您需要为比较生成一些自定义逻辑。我在下面添加了一个逻辑。希望这能有所帮助。
const AsheetValues = [
[1,2,3,4,5],
[6,7,8,9,0]
]
const mainsheetvalues = [1,2,3,4,5];
const isIncluded = (parentArr, childArr) => {
let isMatch = true;
for(let parentLoopIndex = 0; parentLoopIndex < parentArr.length; parentLoopIndex++) {
if (parentArr[parentLoopIndex].length != childArr.length)
isMatch = false;
for (var i = 0; i < parentArr[parentLoopIndex].length; i++) {
if (parentArr[parentLoopIndex][i] != childArr[i]) {
isMatch = false;
}
}
if (isMatch) {
parentLoopIndex = parentArr.length;
}
}
return isMatch;
}
console.log(isIncluded(AsheetValues, mainsheetvalues));