【发布时间】:2016-10-13 09:56:37
【问题描述】:
我正在尝试查看在 es6 中是否有更小的方法可以将数组转换为对象。 (我不用担心跨浏览器)
我目前有:
function (values) // values being an array.
{
let [videos, video_count, page] = values;
let data = { videos, video_count, page };
someFunctions(data);
moreFunctions(data);
}
但我想知道是否可以删除函数的第一行 let [videos....] 部分。并以某种方式 inline 进行转换。
我已经阅读了mozilla: Destructuring assignment,但在那里我看不到它。 (但我可能理解错了)而且我真的不够聪明,无法理解ECMA: ES6 Spec。
我怀疑这是不可能的,上面已经是我能做到的最简单的了。
但是,如果我可以不创建 videos、video_count 和 page tmp 变量,我会更快乐。
【问题讨论】:
-
总是可以用老式的方式来做:
var data = {videos:values[0], video_count:values[1], page:values[2]}; -
这是我考虑过的,但想看看是否有es6的方式。似乎有一种方法可以做几乎所有我想做的事情,我想我找到了一个更小众的用例。
-
好吧,无论哪种方式,您都必须为您的属性值命名,它们不会凭空出现。
标签: javascript ecmascript-6 destructuring