循环中的 JavaScript 中的对象操作


var userLists = {
user0 : {username: 'user9110252username', genrePref: 'user9110252genre'},
user1 : {username: 'Jon', genrePref: 'rock'},
user2 : {username: 'Lucy', genrePref: 'pop'},
user3 : {username: 'Mike', genrePref: 'rock'},
}

我从应该像userLists.user0的地方获得像userLists.user这样的输入,我如何转换这个请求

var i =0;
for(var key in userLists) {
console.log(userLists.user+i)
i++;
}

如果你想使用forEachmap你可以在数组上这样做,但由于你有一个对象,你可以使用Object.entries来获取数组数组。还有Object.keysObject.values.

var userLists = {
user0 : {username: 'user9110252username', genrePref: 'user9110252genre'},
user1 : {username: 'Jon', genrePref: 'rock'},
user2 : {username: 'Lucy', genrePref: 'pop'},
user3 : {username: 'Mike', genrePref: 'rock'},
}
Object.entries(userLists).forEach(([key, value]) => {
console.log(key, value);
})

如果我正确理解你的问题,你想要这样吗?

var userLists = {
user0 : {username: 'user9110252username', genrePref: 'user9110252genre'},
user1 : {username: 'Jon', genrePref: 'rock'},
user2 : {username: 'Lucy', genrePref: 'pop'},
user3 : {username: 'Mike', genrePref: 'rock'},
}
var result = Object.fromEntries(Object.entries(userLists).map(([k,v], i)=>[k=i, v]));
console.log(result);

或者,您可以根据需要在map function内部进行类似的操作。

最新更新