在backbone.js中将变量值设置为键

Set variable value as key in backbone.js

本文关键字:设置 变量值 backbone js      更新时间:2023-09-26

我无法在backbone.js中添加变量值作为键名,有什么方法可以做到吗??看看下面的代码

(function ($) {
    Today = Backbone.Model.extend({ 
    }); 
    var data= ['a','b','c'];
    for(var i=0;i<data.length;i++){
          today.set({i:data[i]});
    } 

} (jQuery));

我是怎么做到的?

您应该能够简单地将data传递给today.set()

var data = ['a','b','c'];
var today = new Today();
today.set(data);
console.log(today.attributes);
// {0: "a", 1: "b", 2: "c"} 

不过,为了解释这个问题:对象文字中:左侧的标识符本身总是成为键的名称。要将变量的值用作键,必须使用括号成员运算符。

var tmp = {};
tmp[i] = data[i];
today.set(tmp);

因此,在javascript中,带有未引号键的对象文字使用该键的字符串版本:

var i=1;
var obj = {i: "this sets obj.i to this string, not obj['1']"};

如果你想要一个计算的密钥,请遵循以下模式:

var keyname = i + 'whatever' + 42;
var obj = {};
obj[keyname] = value;