【发布时间】:2018-06-26 11:01:16
【问题描述】:
我正在尝试从第一个数组中存在的键中推送一个值。这个数组由一个country_users 数组组成,我已经遍历了这个数组中的每个用户数组,并将它们推送到一个名为users的新数组中
在此演示中,我尝试将 country 从 country_users 推送到 users 数组中的每个用户对象。
我为此目的使用 Vue.js,使用 Vue 可能更容易吗?有什么建议吗?
var users = [];
var country_users = [
{
"country": "United States",
"users": [
{
"name": "John"
},
{
"name": "Jane"
},
],
},
{
"country": "Norway",
"users": [
{
"name": "Ola"
},
{
"name": "Jens"
},
],
},
];
// Here I push all users from country_users into a new array called users
for (let cu = 0; cu < country_users.length; cu++) {
for (let u = 0; u < country_users[cu].users.length; u++) {
users.push(country_users[cu].users[u]);
}
// Do I make a new for loop here to push the country into every object inside users array? How?
}
console.log(users);
我想从用户之前所属的数组中推送国家。
我想要的结果是users这样的数组
var users = [
{
"name": "John",
"country": "United States"
},
{
"name": "Jane",
"country": "United States"
},
{
"name": "Ola",
"country": "Norway"
},
{
"name": "Jens",
"country": "Norway"
}
];
console.log(users);
解决方案
var users = [];
var country_users = [
{
"country": "United States",
"users": [
{
"name": "John"
},
{
"name": "Jane"
},
],
},
{
"country": "Norway",
"users": [
{
"name": "Ola"
},
{
"name": "Jens"
},
],
},
];
country_users.forEach((country_user) => {
country_user.users.forEach((user) => {
user.country = country_user.country;
users.push(user);
});
});
console.log(users);
【问题讨论】:
-
为什么 john 不是 jane 而 jens 不是 ola?如果是第一个,那么 ola 而不是 jens ...?
-
@NinaScholz 对不起,我的错。我希望 country_users 数组中的所有用户都得到相同的结果。
标签: javascript arrays vue.js