我有2個陣列 -分配值的JavaScript
1-Numbers = [3,4,5]
2-selection= [ [1,2,3,4],[6,5,4,3],[2,9,4]]
現在,在輸出I想3應該是鍵索引即[1,2,3,4]
等
輸出應低於 -
selection= = { '3':[1,2,3,4] ,'4':[6,5,4,3] ,'5':[2,9,4]}
我有2個陣列 -分配值的JavaScript
1-Numbers = [3,4,5]
2-selection= [ [1,2,3,4],[6,5,4,3],[2,9,4]]
現在,在輸出I想3應該是鍵索引即[1,2,3,4]
等
輸出應低於 -
selection= = { '3':[1,2,3,4] ,'4':[6,5,4,3] ,'5':[2,9,4]}
只使用_.zipObject https://lodash.com/docs/4.17.2#zipObject
_.zipObject(Numbers, selection)
這個答案應該說明它使用lodash。唯一的提示是問題中的標籤,這絕對不夠。同樣,即使技術上正確,只發布代碼片段也不可能有資格成爲「答案」。 –
儘管..他在這裏得到了最高的評價,因爲他是對的,因爲他讀了這個問題和標籤。 答案可以在lodash文檔中找到,我認爲沒有什麼補充。 – Aks
在純Javascript中,您可以迭代numbers
並使用數字鍵構建一個新對象,並將具有相同索引的selection
作爲值。
var numbers = [3, 4, 5],
selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]],
result = {};
numbers.forEach(function (k, i) {
result[k] = selection[i];
});
console.log(result);
ES6
var numbers = [3, 4, 5],
selection = [[1, 2, 3, 4], [6, 5, 4, 3], [2, 9, 4]],
result = numbers.reduce((r, k, i) => Object.assign(r, { [k]: selection[i] }), {});
console.log(result);
迭代,從兩個數組中獲取當前索引的元素,添加到對象中。爲什麼你需要lodash? – Tushar