2017-08-24 164 views
1

我認爲我的問題並不難,但我有點新的JavaScript ...所以我的問題是如何使下面的東西(以下不工作):Javascript:創建一個數組,其索引是另一個數組的值

var t1 = { 
    0 : "lel", 
}; 
var t2 = { 
    t1[0] : 1, 
}; 
+0

* t2數組應該看起來像 t2 [「lel」] = 1 – Crispy

+1

使用'[t1 [0]]:1'但這與數組無關。請參閱[計算屬性名稱](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Object_initializer#Computed_property_names) – ASDFGerte

+0

查看[關聯數組](http://www.i -programmer.info/programming/javascript/1441-javascript-data-structures-the-associative-array.html) –

回答

2

您可以簡單地使用t2[t1[0]] = 1這樣的:下面

var t2 = {}; 
t2[t1[0]] = 1; 

演示:

var t1 = { 
 
    0: "lel", 
 
}; 
 
var t2 = {}; 
 
t2[t1[0]] = 1; 
 

 
console.log(t2);

+1

哇...感覺有點愚蠢的這樣一個簡單的解決方案:x,但無論如何感謝! – Crispy

1

使用ES,您可以使用它來使用computed property names

var t1 = { 0 : "lel" }, 
 
    t2 = { [t1[0]]: 1 }; 
 

 
console.log(t2);

1

數組在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這樣的庫,這對於數組和對象操作來說很好。

相關問題