2016-10-14 2 views
0

У меня есть объект, содержащий массив. Пока элементы пробиваются, я пытаюсь сделать каждый элемент при создании, чтобы иметь значение checkedFalse. В настоящее время я вижу, что это устанавливает для всего массива значение false. Как я могу изменить это, чтобы каждый элемент был собственный checked значение?Добавление свойств в массив в javascript

Желаемая выход элементов:

["a", "checked": False], ["aa", "checked": False], ["aaa", "checked": False]

// state objects 
var state = { 
    items: [] 
}; 

// state modification functions 
function addItem(state, item) { 
    item.name = item; 
    state.items[item["checked"]] = "False"; 
    state.items.push(item); 
    console.log(state.items); 
} 
+1

Похоже, что вы на самом деле ** ** должен использовать объект вместо этого. – adeneo

+2

'items.push ({значение:" a ", checked: false})' – adeneo

ответ

3

То, что вы хотите, это Array, который содержит Objects. Попробуйте это:

function addItem(state, item) { 
    state.items.push({ 
     name : item, 
     checked: false 
    }) 
} 

Вы можете получить доступ к state.items[0], чтобы получить { name, checked } объект или state.items[0].name/state.items[0].checked непосредственно

0

Некоторое время проще является объект Witch

[{name: "a", checked: false}, {name: "aa", checked: false}] 

// state objects 
var state = { 
    items: [] 
}; 

// state modification functions 
function addItem(item) { 
    state.items.push(item); 
} 

addItem({name: "a", checked: false}) 
Смежные вопросы