Массив с ключами javascript

316
30 августа 2017, 17:52

Мне нужно сделать массив который хранит данные, знаю что можно сделать так

var array = {};
array.name = value;

Но при множественном обращении value не дополняется в массив, а перезаписывает, то есть больше одной строки в ячейке array.name создать нельзя, как сделать так, чтоб дозаписывалось в array.name?

Answer 1

var data = { names: [] }; 
data.names.push("Bill"); 
data.names.push("John"); 
console.log(data);

как можно сделать так, чтоб если name одинаковый - то cost перезаписывался

var data = { items: [] }; 
data.items.push({ name: "Bill", cost: 10 }); 
data.items.push({ name: "John", cost: 20 }); 
 
function setCostByName(anArray, aName, aCost) { 
  var item = anArray.find(function(anItem){ return anItem.name == aName; }); 
  if (!item) { 
    item = { name: aName, cost: aCost }; 
    anArray.push(item); 
  } else { 
    item.cost = aCost; 
  } 
} 
 
setCostByName(data.items, "Jane", 30); 
setCostByName(data.items, "Bill", 40); 
 
console.log(data);

Answer 2

А если так:

key - ключ

if(!(key in array)){
  array[key]= [];
}
array[key].push(value)
READ ALSO
Возможно ли обращаться к woocommerce напрямую, без сервера и аутентификации?

Возможно ли обращаться к woocommerce напрямую, без сервера и аутентификации?

Здравствуйте, в woocommerce никак не могу найти способа работы с плагином без аутентификации (только get запросы нужны), возможно ли как-то напрямую...

326
Ajax запрос error

Ajax запрос error

Добрый деньСтолкнулся со следующей проблемой:

381
ссылка на скрытый div vue js

ссылка на скрытый div vue js

Eсть большой div, который имеет как видимый блок

351