【发布时间】:2021-02-22 04:19:15
【问题描述】:
我正在研究以下“二和”问题的解决方案。他们首先遍历数组并将所有数字放入一个对象中。然后他们又执行了另一个for 循环来查看不同是否是数组中的一个键,但他们使用hasOwnProperty 检查了该键。这样做与仅检查密钥 ex 有什么区别:if (obj[key]) { ....}
const twoSum_On_Better = (arr, target) => {
let numObject = {};
for (let i = 0; i < arr.length; i++) {
let thisNum = arr[i];
numObject[thisNum] = i;
}
for (var i = 0; i < arr.length; i++) {
let diff = target - arr[i];
if (numObject.hasOwnProperty(diff) && numObject[diff] !== i) {
return [i, numObject[diff]];
}
}
}
【问题讨论】:
-
也可以在这里查看 Om Sao 的答案:stackoverflow.com/questions/9396569/…
标签: javascript