我试图只从数组中删除 2 之一,但我的代码删除了所有这些。我的代码如下:
var arr = [2,7,9,5,2]
arr.filter(item => ((item !== 2)));
Run Code Online (Sandbox Code Playgroud)
和:
var arr = [2,7,9,2,2,5,2]
arr.filter(item => ((item !== 2)));
Run Code Online (Sandbox Code Playgroud)
两者都删除所有 2s。我想过删除重复项,如果只有一个重复项,它就可以工作 - 例如:
Array.from(new Set([2,7,9,5,2]));
function uniq(a) {
return Array.from(new Set(a))
}
Run Code Online (Sandbox Code Playgroud)
但是如果有多个重复项会失败,因为它只是将它们全部删除,包括任何其他重复的数字:
Array.from(new Set([2,7,9,9,2,2,5,2]));
function uniq(a) {
return Array.from(new Set(a))
}
Run Code Online (Sandbox Code Playgroud)
有谁知道如何只删除 2s 之一?感谢这里的任何帮助。
您可以将indexOfmethod 与splice.
var arr = [2,7,9,5,2]
var idx = arr.indexOf(2)
if (idx >= 0) {
arr.splice(idx, 1);
}
console.log(arr);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
769 次 |
| 最近记录: |