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

163
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

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

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

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

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

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

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

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

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

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

146