gpt4 book ai didi

javascript - 数组中的 "..."(三点)表示法是什么意思?

转载 作者:行者123 更新时间:2023-12-02 22:49:31 25 4
gpt4 key购买 nike

我不明白...是什么意思符号确实如此。

我用 Babel 尝试了一个简单的例子来理解它( view the example ),但似乎:

ES6语法

let myArray = [1, 2, 3, ...18];

console.log(myArray); // [1, 2, 3]
console.log(myArray[4]);// undefined
console.log(myArray.length); // 3

此 ES5 语法相同:

"use strict";

function _toConsumableArray(arr) {
if (Array.isArray(arr)) {
for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) {
arr2[i] = arr[i];
}
return arr2;
} else {
return Array.from(arr);
}
}

var myArray = [1, 2, 3].concat(_toConsumableArray(18));

console.log(myArray); // [1, 2, 3]
console.log(myArray[4]); // undefined
console.log(myArray.length); // 3

但是:这段代码有什么作用?因为输出 ( console.log ) 与此代码 (ES5) 中的相同:

var myArray = [1,2,3];

console.log(myArray); // [1, 2, 3]
console.log(myArray[4]);// undefined
console.log(myArray.length); // 3

...18 是什么意思?符号是什么意思?

最佳答案

...( spread operator ) 的工作原理是返回从索引 0 到索引 length-1 的每个值:

例如:

[...'18'] // returns ['1', '8']

这与:

相同
['18'[0], '18'[1]]
<小时/>

现在,要获取从 118 的数组,您可以执行以下操作:

[...Array(19).keys()].slice(1)

或者使用 map :

[...Array(18)].map(_=>i++,i=1)

希望有帮助。

关于javascript - 数组中的 "..."(三点)表示法是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36095630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com