Изменение значения в объекте JS

234
04 октября 2018, 18:20

Допустим, что есть такой объект:

var pk = {
  One : '811-111'
}

Необходимо добавить к ключу One еще одно значение, как например, "111-395", чтобы получить вот такое:

var pk = {
  One : '811-111, 111-395'
}

Как осуществить данную операцию?

Answer 1

Самое простое решение.

 const pk = {
      One: '811-111'
 }
 pk.One = `${pk.One}, 111-395`

Если нужно будет сделать так со всеми полями объекта то можно использовать этот способ.

const addNumber = (obj, number) => {
     Object.keys(obj).forEach(el => obj[el] = `${obj[el]}, ${number}`)
}
addNumber(pk, '111-395')
Answer 2

Более инкапсулированным решением будет создать метод для строки:

String.prototype.function_name=function(add,separator=', '){ 
  return this.split(separator).concat(add).join(separator) 
} 
var pk = { 
  One : '811-111' 
} 
pk.One=pk.One.function_name('111-395') 
console.log(pk.One)

Этот метод также предотвратит проблему лишнего разделителя при добавлении данных в пустую строку.

READ ALSO
Как поставить условие?

Как поставить условие?

Всем приветДелаю вот бесконечную прокрутку(ajax прокрутку) на vue

225
Массивы. Круговой обход

Массивы. Круговой обход

Как можно реализовать перебор массива по кругу? Допустим у меня есть массив из 3х элементов, и я нахожу минимальную сумму 2х подряд идущихТ

234
Как по нажатию кнопки заменить элемент с новой информацией на jQuery?

Как по нажатию кнопки заменить элемент с новой информацией на jQuery?

Надо, что бы по нажатию кнопки введенная информация из правой колонки (название вверху, описание ниже) переходила в левую колонку (заметку)...

296
Vuex не работает getters

Vuex не работает getters

Перехватываю id из строки браузера и пытаюсь получить запись из массива находящегося в $store по id, в браузере в консоли ошибок нет, но геттер...

216