Javascript代码更新包括每条记录的总数
Javascript code update include count total for each record
我正在尝试修改一些代码,其中我需要添加一个计数到数组。
数据和代码如下:
var data = {
"people": [{
"id": "32",
"description": "some description",
"archived": "",
"new": 0,
"names": [{
"name": "name 1",
"translations": null
}, {
"name": "name 2",
"translations": null
}],
}, {
"id": "56",
"description": "some description",
"archived": "",
"new": 0,
"names": [{
"name": "name 3",
"translations": null
}, {
"name": "name 4",
"translations": null
}],
}, {
"id": "99",
"description": "some description",
"archived": "",
"new": 0,
"names": null,
},
]
};
var mainData = [data];
var namesList = [];
for (var i = 0; i < mainData[0].people.length; i++) {
var obj = mainData[0].people[i];
if( obj.names ) {
var nme = obj.names.map( function(item){
return item.name;
});
namesList = namesList.concat(nme);
}
}
console.log(namesList); //This should have the list of names
我需要做的是添加一个新的数组,其中包含每个名称字段的计数,例如…当前的数据输出将是:
[2,2]…因为有2条记录,每条记录包含2个名字。
我如何添加这个?
只需将您的nme
数组的长度添加到您想要保存计数的其他数组
var namesCount = [];
//...
if (obj.names) {
var nme = obj.names.map(function(item) {
return item.name;
});
namesList = namesList.concat(nme);
namesCount.push(nme.length);
}
//..
console.log(namesCount);
演示var data = {
"people": [{
"id": "32",
"description": "some description",
"archived": "",
"new": 0,
"names": [{
"name": "name 1",
"translations": null
}, {
"name": "name 2",
"translations": null
}],
}, {
"id": "56",
"description": "some description",
"archived": "",
"new": 0,
"names": [{
"name": "name 3",
"translations": null
}, {
"name": "name 4",
"translations": null
}],
}, {
"id": "99",
"description": "some description",
"archived": "",
"new": 0,
"names": null,
},
]
};
var namesList = [];
var namesCount = [];
for (var i = 0; i < data.people.length; i++) {
var obj = data.people[i];
if (obj.names) {
var nme = obj.names.map(function(item) {
return item.name;
});
namesList = namesList.concat(nme);
namesCount.push(nme.length);
}
}
console.log(namesCount);
如果你想把它存储在原来的data
上,那么就把它设置为某个属性
data.namesCount = [];
//...
if (obj.names) {
var nme = obj.names.map(function(item) {
return item.name;
});
namesList = namesList.concat(nme);
data.namesCount.push(nme.length);
}
//..
console.log(data.namesCount);
也因为你没有过滤掉或从obj.names
中删除任何对象,你可以只获得该数组的长度来获得计数
namesCount.push( obj.names.length );
相关文章:
- 解析云代码不会记录/警告成功或失败
- p2p/NodeJS:未记录的代码不会告诉我们如何通过网络发送消息
- 控制器中的代码点火器回声记录
- 如何在代码点火器框架中删除记录后从图像目录中删除图像
- 用于记录点击的 JavaScript 代码
- 后台页面 JS 代码在弹出控制台中的日志记录不同
- 如何在 JSDoc3 中正确记录此代码
- 如何捕获并在控制台中记录基准代码引发的错误
- Localhost未记录对代码的更改
- 代码日志记录在$.get请求中运行时未定义,但在页面上运行时工作正常
- 使用JS代码清除chrome选项卡历史记录
- 这是我的代码,我想添加日期选择器事件,它根据日期给出特定的记录
- 为什么这段代码似乎没有向Meteor.users.profile对象添加记录?
- Javascript代码更新包括每条记录的总数
- 我试图通过php代码更新记录.但是我的代码有问题
- 如何停止清除浏览器控制台代码历史记录
- 删除索引网站的代码历史记录?可能的
- 相同的解析查询在chrome js控制台找到记录,但不在node.js代码中
- Javascript代码过滤gridview记录上的按钮单击
- Node.js-将响应状态代码记录到控制台(一个la Django开发服务器)