gpt4 book ai didi

javascript - 在 JS 中比较单个数组项的最有效方法

转载 作者:行者123 更新时间:2023-12-01 16:26:32 26 4
gpt4 key购买 nike

我有一个整数数组,假设 const foo = [2,5,6,2...]

我想创建一个比较所有项目的函数,如果一个项目恰好是任何其他项目的两倍,则返回 true,如果没有找到这种情况,则返回 false。

我的第一个想法是做类似的事情

function foo(arr) {
for(let ind = 0; ind < arr.length; ind++) {
for( j = 1; j < arr.length; j++) {
/// CHECK IF ITEM arr[ind] is double of arr[j] or viceversa and return true
}
}
return false
}

这显然是一个非常糟糕的解决方案,因为它多次遍历每个项目。在 JS 中解决这个问题的最有效方法是什么?

最佳答案

.map(Number)转换为数字以使检查更容易一些

.some()如果至少有一个条目通过了提供的测试,将返回 true - 也就是说,提供的数组 .include() 是否通过。一个恰好是当前被测试元素两倍的值

const arrayA = ['2','5','6','2'];
const arrayB = ['2','5','4','3'];

function demo (array) {
return array
.map(Number)
.some((ele, _, ori) => ori.includes(ele * 2));
}

console.log(demo(arrayA));
console.log(demo(arrayB));

关于javascript - 在 JS 中比较单个数组项的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60128963/

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