2

我已经能够使用“for”循环和“for in”循环来计算拼接,但不能使用“for of”循环。可能吗?这是我的起始代码......有什么想法可以改变以使其工作吗?

let array = [ 'a', 'b', 'c' ];
function remove( letter ){
    for( let item of array ){
        if( item === letter ){
            parkedCars.splice ( item, 1 );
        }
    }
}
remove( 'b' );
console.log( array );
4

2 回答 2

5

您可以使用for...of循环Array.prototype.entries(),然后检查值并使用索引删除项目splice()

let array = ['a', 'b', 'c'];

function remove(arr, letter) {
  for (let [index, item] of arr.entries()) {
    if (item === letter) arr.splice(index, 1);
  }
}
remove(array, 'b');
console.log(array);

于 2018-03-26T19:31:27.607 回答
0

好吧,您可以自己跟踪索引,但它不是很漂亮。

let index = 0;
for( let item of array ){
    if( item === letter ){
        parkedCars.splice ( index, 1 );
    }
    index++;
}
于 2018-03-26T19:31:02.447 回答