Добавить свойство к каждому объекту в массиве - PullRequest
0 голосов
/ 27 марта 2020

Доброе утро всем,

Итак, здесь я задал себе вопрос, чтобы посмотреть, оптимизировал ли я там этот рейтинг, но чувствую, что делаю не то.

Итак, позвольте мне объясните.

Мы восстанавливаем массив с объектами, пример пользователей.

Кто бы это дал:

 [
   {
     'name': 'john',
     'age': '25'
   },
   {
     'name': 'Doe',
     'age': '28'
   },
   ...
 ]

Но в vuejs или в javascript или В других случаях я иногда добавляю пример значения: «edit»: false », но здесь, чтобы добавить его ко всем моим объектам в таблице, я передаю таблицу с каждым и таким образом добавляю это значение. но я не нахожу это чистым, у вас есть еще один совет или просто как вы это делаете?

 [
   {
     'name': 'john',
     'age': '25',
     'edit': false
   },
   {
     'name': 'Doe',
     'age': '28',
     'edit': false
   },
   ...
 ]

мне это нравится лично

$.each(this.users, function(key){
                        Vue.set(this, 'edit', false)
                    });

Спасибо за ваши ответы Я wi sh вам хорошего дня и прежде всего крепкого здоровья. Извините за мой плохой английский sh!

Ответы [ 3 ]

0 голосов
/ 27 марта 2020

Попробуйте forEach l oop:

[].forEach((obj)=>{ fn() })

var users = [
{ name: 'John', age: 25 },
{ name: 'Jane', age: 28 }
];
users.forEach((o)=>{ o.edit = false;});
console.log(users);
0 голосов
/ 30 марта 2020

Используйте карту и оператор распространения

const users = [
    { name: 'John', age: 25 },
    { name: 'Jane', age: 28 }
];

const usersUpdated = users.map(user => ({ ...user, edit: false }));
0 голосов
/ 27 марта 2020

Если вы используете ES6, вы можете сделать один лайнер следующим образом:

var users = [
    { name: 'John', age: 25 },
    { name: 'Jane', age: 28 }
];

users.map(user => user.edit = false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...