javascript - Javascript - 数组 - for-loop 到 forEach
问题描述
Given an array of integers where every value appears twice except one, find the single, non-repeating value.
Follow up: do so with O(1) space.
1)这是不正确的,想法是迭代两次并比较第一次是否有任何值不等于第二次。如果不是,则将不相等的值推入一个新数组并返回。
2)forEach
与 a 几乎相同for-loop
吗?
这怎么能用 a 重写forEach
?
这并没有给我想要的输出,对于这个例子,它应该只是返回4
代码
const nonRepeat = arr => {
let newArray = [];
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length; j++) {
if (arr[i] !== arr[j]) {
newArray.push(arr[i])
}
}
}
return newArray
}
console.log(nonRepeat([2, 5, 3, 2, 1, 3, 4, 5, 1]));
解决方案
从 for 循环转换为 forEach 循环
为了
for (let i = 0; i < arr.length; i++) { [code] }
forEach无需创建迭代变量(例如 i)并始终检查数组中的每个元素
arr.forEach( [code] )
推荐阅读
- javascript - 带有证书的 NodeJS REST 调用。我怎么知道要使用哪个文件?
- javascript - 当点击没有在内容之外启动时,防止模式关闭?
- html - 将最大宽度设置为详细信息标签而不影响下拉箭头
- javascript - 我有 40 个来自 API 的数组。我希望所有 40 个数组的值都在一个数组中。我如何实现这一目标?
- statistics - 当我们有标准偏差时如何计算总体均值的置信区间
- sql - 如何将 json 数据从 sql 表列检索为单独的表
- regex - 如何编写自定义正则表达式来仅验证十进制浮点数 0.001 到 0.800?
- swift - 将一个 SwiftUI 视图从另一个视图下方滑出
- angular - 如何为对象添加功能?
- c# - 在 C# 中映射包含关联数组的 Oracle UDT