Javascript 数组 - 查找重复项

标签 javascript

<分区>

这是我的问题...

给定一个用数字填充的数组作为函数参数,生成一个结果数组,其中包含数组中的任何重复数字。 例如,给定数组 [ 1, 2, 4, 4, 3, 3, 1, 5, 3 ] 它应该返回 [1, 4, 3]。对于额外的奖励积分,返回一个排序数组。

我刚开始使用 Javascript - 我知道这门语言,但以正确的方式使用它(正如应该的那样)我仍然在掌握。

我的伪代码是:

用上面的数字创建一个数组 var numbers = [1, 2, 4, 4, 3, 3, 1, 5, 3];

然后创建一个名为“result”的空数组var result = [];

创建一个遍历 var 数字的 for 循环以检查重复项,然后用重复项填充空数组“result”

for (var i = 0;i < numbers.length; i++) {
 //This is where I'm stuck...
}

我不确定在 for 循环中要做什么来填充 var 结果并加入混合...给定的数组必须是一个有意义的函数参数,这样您就可以更改其中的数字地方。

非常感谢到目前为止对我的思考过程的任何反馈,但最终我想学习如何实现这一目标。

这是到目前为止我的进度的 JSFiddle... http://jsfiddle.net/fbauW/

最佳答案

执行此操作的一种方法(这不是唯一的方法)是检查数组中的现有元素。看看 JavaScript 的 lastIndexOf 函数:

http://www.w3schools.com/jsref/jsref_lastindexof_array.asp

如果数组中不存在该对象,它将返回 -1,如果存在,将返回比您所在位置更晚的位置的索引。因此,您可以在循环中使用 if 语句来检查 or没有包含您的号码的另一个索引,并将其添加到您的结果数组中,当且仅当您返回的索引!=您当前所在的索引(如果它们相等,这意味着只有一个元素在列表)。

如果您需要更多帮助,请在此处发表评论,我可以输入一些代码!

祝你好运!

关于Javascript 数组 - 查找重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17968987/

相关文章:

javascript - 如何用 react/redux 柯里化(Currying)调度函数?

javascript - 带对象的 ImmutableJs

javascript - 循环浏览图片

javascript - JQuery.css ("display", "block") 仍然以内联结束

javascript - 是否可以通过 Javascript 连接到 UDP 服务器?

javascript - 覆盖函数的元数

javascript - 如何截取托管在 Amazon S3 上的视频的屏幕截图?

javascript - 在 Cypress 如何根据名称选择输入元素?

javascript - 平板电脑(即 iPad)上的悬停效果?

javascript - `setInterval` 直到条件是不好的做法吗?