鑑於陣列:如何將字符串轉換爲密鑰對象在JavaScript的數組/ lodash
var arr = [ "one", "two", "three" ];
請告訴我將其轉換爲清晰的方式:
{ "one": true, "two": true, "three": true }
我嘗試以下,但我想象有更好的方法。
_.zipObject(arr || {}, _.fill([], true, 0, arr.length))
鑑於陣列:如何將字符串轉換爲密鑰對象在JavaScript的數組/ lodash
var arr = [ "one", "two", "three" ];
請告訴我將其轉換爲清晰的方式:
{ "one": true, "two": true, "three": true }
我嘗試以下,但我想象有更好的方法。
_.zipObject(arr || {}, _.fill([], true, 0, arr.length))
var obj = arr.reduce(function(o, v) { return o[v] = true, o; }, {});
這是我第一次看到'return'上的逗號運算符。有趣的http://stackoverflow.com/questions/10284536/return-statement-with-multiple-comma-seperated-values – azium
一個簡單的方法是這樣的:
function toObject(arr) {
var rv = {};
for (var i = 0; i < arr.length; ++i)
rv[i] = true;
return rv;
}
var array = ["one", "two", "three"];
var myObject = new Object();
for (i = 0; i < array.length; i++) {
myObject[array[i]] = true;
}
console.log(myObject);
不要使用'new Object()',使用對象字面值來代替'{}' –
你甚至嘗試什麼嗎? – Joseph
@JosephtheDreamer是的我試過:_.zipObject(sets.Seen || {},_.fill([],true,0,sets.Seen.length)) – Steve
然後最好如果你只是將它包含在後。 – Joseph