gpt4 book ai didi

javascript - 如何创建一个函数,当作为数组元素放置时会产生多个数组元素?

转载 作者:行者123 更新时间:2023-12-03 07:19:07 25 4
gpt4 key购买 nike

是否有可能创建一个函数 magic() 来改变这个:

[{a:1}, {b:2}, magic(), {e:5}]

进入:

[{a:1}, {b:2}, {c:3}, {d:4}, {e:5}]

最佳答案

没有那种精确的语法,不。您可以在 ES2015 中非常接近,但并不完全相同(在 ES5 和更早版本中,您无法真正接近)。

在 ES2015(“ES6”)及更高版本中,您可以使 magic 返回任何 iterable(如数组),并将其与扩展符号一起使用:

let a = [{a:1}, {b:2}, ...magic(), {e:5}];
// Spread notation ----^^^

例子:

// REQUIRES ES2015+ SUPPORT
function magic() {
return [{c: 3}, {d: 4}];
}
let array = [{a:1}, {b:2}, ...magic(), {e:5}];
console.log(array);

在 ES5 及更早版本中,您可以使 magic 返回一个数组并使用 concat:

var array = [{a:1}, {b:2}].concat(magic()).concat([{e:5}]);

例子:

function magic() {
return [{c: 3}, {d: 4}];
}
var array = [{a:1}, {b:2}].concat(magic()).concat([{e:5}]);
console.log(array);

这不是非常高效,因为它创建并丢弃了几个临时数组,但在 99.99% 的时间里,您并不关心。

关于javascript - 如何创建一个函数,当作为数组元素放置时会产生多个数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39129006/

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