【发布时间】:2018-09-29 08:31:38
【问题描述】:
我有一个数组,我需要返回值在范围内(从 a 到 b)的新数组但是!我想不重复返回。我写了下面的脚本,但它不能正常工作。
let arr = [3, 9, 10, 23, 100, 100, 23, 4, 10, 13, 13];
let newArr = [];
let funcFilter = function(arr, a, b) {
for(let i = 0; i< arr.length; i++) {
if(arr[i] >= a && arr[i] <= b ) {
if(arr.indexOf(arr[i]) !== -1)
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(funcFilter(arr, 3, 20))
【问题讨论】:
-
"in range" 是否表示已排序?
-
你应该改用
if(newArr.indexOf(arr[i]) == -1)
标签: javascript arrays unique indexof