gpt4 book ai didi

JavaScript 模式 : Is this a valid way of assigning multiple values to an array?

转载 作者:行者123 更新时间:2023-11-30 11:48:10 25 4
gpt4 key购买 nike

我在 CodeReview 上看到过这种模式: https://codereview.stackexchange.com/questions/144954/generate-a-table-with-random-numbers

最后一个函数“shuffeledArray”。

以下代码用于在一次操作中将多个值分配给一个数组:

var demo = [];

[demo[0], demo[1], demo[2]] = [2, 4, 8];

console.log(demo);

它有效。

但我问自己:

应该使用这些技术吗?或者有什么缺点?

最佳答案

这只是有用功能的一个糟糕示例:解构赋值。

一个更好的例子可以使解构赋值的用处更加明显。考虑一个函数需要返回多个返回值的情况。通常,我们返回一个对象或数组。通过解构赋值,我们可以使用单个变量使用该返回值:

作为对象:

function minMax(a) {
let min = a[0], max = a[0];
a.forEach(entry => {
if (min > entry) {
min = entry;
}
if (max < entry) {
max = entry;
}
});
return {min, max};
}

let {min, max} = minMax([2, 4, 8]);
console.log(min, max);

作为数组:

function minMax(a) {
let min = a[0], max = a[0];
a.forEach(entry => {
if (min > entry) {
min = entry;
}
if (max < entry) {
max = entry;
}
});
return [min, max];
}

let [min, max] = minMax([2, 4, 8]);
console.log(min, max);

对象的解构特别有用,例如,在处理模块时。假设一个模块导出了一大堆东西,其中你只需要 foobar:

import {foo, bar} from "./module";

关于不使用它的浏览器支持论点:这就是转译的目的。两年多来,我一直很高兴地在为浏览器设计的项目中使用 ES2015(是的,在规范最终确定之前),这要归功于转译。

关于JavaScript 模式 : Is this a valid way of assigning multiple values to an array?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40237536/

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