2016-02-05 3 views
0

Итак, у меня есть js, чтобы проверить, существует ли объект в переменной NAMES. Если этого не произойдет, я хочу, чтобы подтолкнуть массив весь объект в переменной, как показано ниже:js добавление смешанного многомерного массива в переменную

var NAMES = {}; 

function NAME_INFO(name,input1,input2,input3){ 
    return name : [input1, input2, input3], ; 
} 
... 
NAMES.push(NAME_INFO(my_name,first,middle,last)); //some variables that I have. 

концовка результат, что я пытаюсь получить это следующим образом:

var NAMES = { 
    '185' : ['ryan', 'some', 'last'], 
    '15' : ['mike', 'middle', 'Mcdonald'], 
    '122' : ['emily','else', 'Another'] 
}; 

Я не уверен, если это правильная настройка для него. Я не уверен, как правильно выполнить функцию.

Может ли кто-нибудь указать мне в правильном направлении? Благодарю.

+0

вы должны определить, что вы подразумеваете под существующим. Каковы значения, которые вы используете для сравнения? –

+0

Благодарим вас за ответ. Я удалил раздел 'if', поскольку он отлично работает. Мне просто сложно добавить этот смешанный массив в переменную «NAMES». – HEYHEY

+0

Что означает '' return name: [input1, input2, input3],; '? Mean? – Igor

ответ

2

Прежде всего, вы не можете вернуть карту с этой функцией. Вам необходимо это сделать

function NAME_INFO(name,input1,input2,input3){ 
    var newMap = {}; 
    newMap[name] = [input1, input2, input3]; 
    return newMap ; 
} 

Во-вторых, вы не можете проталкивать объект к объекту MAP. Ваш NAMES должен определить как массив т.е. var NAMES = []

Вашего конечный результат будет выглядеть

var NAMES = [ 
    {'185' : ['ryan', 'some', 'last']}, 
    {'15' : ['mike', 'middle', 'Mcdonald']}, 
    {'122' : ['emily','else', 'Another']} 
]; 

Надеется, что это помогает!

+1

Это конечно! =) спасибо! – HEYHEY

Смежные вопросы