Javascript 用于将名称值对分配给对象的简写
Javascript Shorthand for assigning name value pair to object
向新对象添加名称值对时:
function example() {
var address = {}; //I'd like to omit this line somehow, is it possible?
var values = ["Dog", "Cat", "Giraffe", "Monkey", "Goose"]
for (i=0; i <5; i++) {
address[i] = values[i]
}
}
是否有任何速记可以让我省略上面评论的行?
您可以使用对象或数组文本语法或对象/数组方法创建该类型的数组。
数组数组:
// Using array literal grammar
var arr = [[value1, value2, value3], [value1, value2]]
// Creating and pushing to an array
var arr = [];
arr.push([value1, value2, value3]);
数组的对象:
// Using object literal grammar
var obj = { "key": [value1, value2, value3], "key2": [value1, value2] }
// Creating object properties using bracket or dot notation
var obj = {};
obj.key = [value1, value2, value3];
obj["key2"] = [value1, value2];
如果您正在寻找一种替代方法来执行示例正在执行的操作,则可以使用 Array.prototype.reduce
. 如果您了解它的工作原理,那么在我看来它会干净得多。
var vals = ["Dog", "Cat", "Giraffe", "Monkey", "Goose"];
function assignNameVal(arr){
return arr.reduce(function(prev, curr, index, array){
prev[index] = curr; // curr is each element in arr for each iteration
return prev; // returned value is the prev arg for next execution in iteration
}, {}); // {} is first value of prev
}
相关文章:
- 为什么在Javascript中将一个对象分配给另一个变量也会更改初始对象
- 在运行时使用预先确定的对象分配变量
- Javascript对象分配gottcha
- 通过程序将对象分配给数组
- AngularJS-对象分配不起作用
- 在PHP中为JSON对象分配标识符/名称
- 对象分配在此angularjs控制器中不起作用
- 对象分配 - 更新特定属性
- 将对象分配给另一个对象并保留原始数据
- ES6 对象分配部分项
- 为每个对象分配一个键
- 将函数中的对象分配给变量或调用 setState 没有这个
- 按对象数组中的值为对象分配等级
- 为什么将其他对象分配给内置对象(例如文档、窗口)没有意义
- 将FileReader内部的结果对象分配给变量
- 为Javascript对象分配函数
- Javascript对象分配'他奇怪的行为
- 了解在 JavaScript 中为对象分配函数
- 为CanvasXpress的Json对象分配Javascript数组值
- 只需使用Immutable.js将对象分配给变量,即可克隆新对象