我認爲我的問題並不難,但我有點新的JavaScript ...所以我的問題是如何使下面的東西(以下不工作):Javascript:創建一個數組,其索引是另一個數組的值
var t1 = {
0 : "lel",
};
var t2 = {
t1[0] : 1,
};
我認爲我的問題並不難,但我有點新的JavaScript ...所以我的問題是如何使下面的東西(以下不工作):Javascript:創建一個數組,其索引是另一個數組的值
var t1 = {
0 : "lel",
};
var t2 = {
t1[0] : 1,
};
您可以簡單地使用t2[t1[0]] = 1
這樣的:下面
var t2 = {};
t2[t1[0]] = 1;
演示:
var t1 = {
0: "lel",
};
var t2 = {};
t2[t1[0]] = 1;
console.log(t2);
哇...感覺有點愚蠢的這樣一個簡單的解決方案:x,但無論如何感謝! – Crispy
使用ES,您可以使用它來使用computed property names。
var t1 = { 0 : "lel" },
t2 = { [t1[0]]: 1 };
console.log(t2);
數組在javascript文字是這樣的:
var a = [val1, val2, val3];
如果你想要把一個值從一個陣列到另一個數組,你可以這樣做:
var a1 = [val1, val2, val3];
var a2 = [a1[0], a1[1], a1[2]];
如果您想將該值用作物品的關鍵字克拉你要做的:
var a = [someValue];
var b = {[a[0]]: someOtherValue};
或者,如果你需要支持舊的瀏覽器:
var b = {};
b[a[0]] = someotherValue;
請記住,有更好的方法來從一個陣列獲取數據,並把它變成另一個數組或成一個物體看看map或減少和類似的功能。或者你可以看看使用像lodash這樣的庫,這對於數組和對象操作來說很好。
* t2數組應該看起來像 t2 [「lel」] = 1 – Crispy
使用'[t1 [0]]:1'但這與數組無關。請參閱[計算屬性名稱](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names) – ASDFGerte
查看[關聯數組](http://www.i -programmer.info/programming/javascript/1441-javascript-data-structures-the-associative-array.html) –