输出给我提示,在0位的人没有得到10个学分,但在输出中,我看到增加了10个学分(60);
我有点糊涂。这个问题似乎很愚蠢,但我只需要重新评估一下。
var users = [
{name: 'asdfasdf', credits: 50},
{name: 'asasdfdf', credits: 10},
{name: 'asdasdffasdf', credits: 11},
{name: 'weewrwe', credits: 1},
{name: 'werwer', credits: 190},
{name: 'sdfsdf', credits: 100},
{name: 'dfgdfg', credits: 0},
];
for(var i = 0; i < users.length; i++) {
var obj = users[i];
}
console.log((obj.credits)+ 10);
发布于 2020-05-18 09:33:30
您的var obj = users[i];将只为每个用户分配到obj,最后您将得到添加10的最后一个用户。
如果你这么做的话,你的脚本就能工作了
for(var i = 0; i < users.length; i++) { users[i].credits+=10; }但这已经足够了,也更现代化了
users.forEach(user => user.credits += 10)示例:
const users = [{name: 'asdfasdf', credits: 50},{name: 'asasdfdf', credits: 10},{name: 'asdasdffasdf', credits: 11},{name: 'weewrwe', credits: 1},{name: 'werwer', credits: 190},{name: 'sdfsdf', credits: 100},{name: 'dfgdfg', credits: 0}];
const amt = 10;
users.forEach(user => user.credits += amt)
console.log("Credits: ",users.map(user => user.credits).join(",")); // show just the credits
console.log(users); // show the users
发布于 2020-05-18 09:32:00
var users = [
{name: 'asdfasdf', credits: 50},
{name: 'asasdfdf', credits: 10},
{name: 'asdasdffasdf', credits: 11},
{name: 'weewrwe', credits: 1},
{name: 'werwer', credits: 190},
{name: 'sdfsdf', credits: 100},
{name: 'dfgdfg', credits: 0},
];
users.forEach(element => {
if(element.credits != null) {
element.credits = parseInt(element.credits) + 10;
}
});
console.log(users);
发布于 2022-11-04 11:44:11
试试这个:
var len = users.length;
for(var i = 0; i <= len; i++){
users[i].credits+=10;
}
console.log(users);https://stackoverflow.com/questions/61866356
复制相似问题