Как Pu sh значение для массива внутри объекта - PullRequest
0 голосов
/ 21 марта 2020

У меня есть массив внутри объекта, который выглядит следующим образом.

sourceSystemArray = [{
  "attId" : 2257,
  "attributeName" : "country",
  "attributeValues" : [ "AU", "KG", "IN", "AF" ]
}]

Используя поле ввода, я даю пользователю возможность добавить новое значение. Теперь я хотел бы наконец добавить значение New Input, которое я получаю, используя ngModel в массив attributeValues. Итак, предположим, что пользователь вводит новую страну, скажем, NZ. Поэтому я хочу сделать pu sh NZ для attributeValues, и мой конечный объект должен выглядеть следующим образом:

sourceSystemArray = [{
      "attId" : 2257,
      "attributeName" : "country",
      "attributeValues" : [ "AU", "KG", "IN", "AF","NZ" ]
    }]

Я пытался использовать метод pu sh, но он не работает. Может кто-нибудь помочь мне понять, как этого добиться.

Ответы [ 3 ]

1 голос
/ 21 марта 2020

Если вы пытаетесь добавить этот объект, у вас могут возникнуть проблемы, потому что он находится в самом массиве. Вот как я бы добавил к attributeValues.

let myarray = [{
  "attId" : 2257,
  "attributeName" : "country",
  "attributeValues" : [ "AU", "KG", "IN", "AF" ]
}]

myarray[0].attribute values.push('GB')

Или, если предположить, что это не единственный элемент в массиве.

let myarray = [{
  "attId" : 2257,
  "attributeName" : "country",
  "attributeValues" : [ "AU", "KG", "IN", "AF" ]
}]

myarray.find(item => item.attId === 2257)
  .attributeValues.push('GB')
0 голосов
/ 21 марта 2020

в html части u следует отправить attId и ваше новое значение с функцией

, затем в компоненте u следует найти метод с attId

function(attId,newValue){    
    this.sourceSystemArray.find(data=>data.attId ==attId).attributeValues.push(newValue);  
}
0 голосов
/ 21 марта 2020

Поскольку sourceSystemArray является массивом, попробуйте это

sourceSystemArra[0].attributeValues.push("NZ");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...