【发布时间】:2021-11-23 07:08:43
【问题描述】:
我想在 JavaScript 中创建一个函数,给定一个数组和一个索引,删除该索引中的值。例如:removeAt([1,2,3,4],2) 应该返回 [1,2,4]。我可以使用的唯一数组方法是 pop()。
我想出了这个(想知道是否有更有效的方法):
function removeAt(arr, index) {
var j = 0;
var arr2 = [];
for (var i = 0; i < arr.length - j; i++) {
if (i != index) {
arr2[i] = arr[i + j];
} else {
arr2[i] = arr[i + 1];
j++;
}
}
return arr2
}
console.log(removeAt([1, 2, 3, 4, 5], 3))
【问题讨论】:
-
@HassanImam 他不允许使用那个。
-
@SagarV 这两种方法他都不能用,只能
pop() -
@Barmar 啊,我没注意到。只有流行音乐,它很复杂。他最好根本不用它。
-
我也想不出使用
pop()的方法。我认为这是使用其他方法的限制,而不是使用此方法的要求。
标签: javascript arrays function