2016-02-12 38 views

回答

2

我假設你要創建這個數據結構(數組,而不是哈希):

[{ 「ID」: 「3」, 「名」: 「循環和心血管」},{ 「ID」:「 7「,」name「:」Respiratory「}]

在這種情況下,您可以使用lodash是這樣的:

var _ = require('lodash'); 

var a1 = ['3', '7' ]; 
var a2 = [ 'Circulatory and Cardiovascular', 'Respiratory' ]; 

var obj = _.merge(_.map(a1, function (o) { return { id : o } }), _.map(a2, function (o) { return { name : o } })) 

console.log(obj); 
+0

按預期工作。謝謝@波拉夫 – Shanthi

1

我很抱歉,這是輸出數組,但它更容易。 你可以這樣做

var idArray = ['3', '7' ]; 
var nameArray = [ 'Circulatory and Cardiovascular', 'Respiratory' ]; 
var newArray = []; 

for (var i = 0; i < idArray.length; i++) { 
    newArray.push({"id": idArray[i], "name": nameArray[i]}); 
} 

輸出:

[ { id: '3', name: 'Circulatory and Cardiovascular' }, 
    { id: '7', name: 'Respiratory' } ] 

我不知道這是一個好主意,但您可以將新的數組轉換成一個對象像這樣

var newObject = newArray.reduce(function(o, v, i) { 
    o[i] = v; 
    return o; 
}, {}); 

產量:

{ '0': { id: '3', name: 'Circulatory and Cardiovascular' }, 
    '1': { id: '7', name: 'Respiratory' } } 

或者另一種方式:

Object.setPrototypeOf(newArray, Object.prototype); // Now it's an object 

輸出:

Object [ 
    { id: '3', name: 'Circulatory and Cardiovascular' }, 
    { id: '7', name: 'Respiratory' } ] 

希望這有助於!

相關問題