我有一个对象,需要为每个键和值获取一个数组。我使用了Object.keys(也尝试过Object.getOwnPropertyNames())和Object.values(),但是都返回了零长度的数组。我确认该对象确实具有值。
下面的代码在jFiddle中工作正常,但是在我的环境中为Object.keys和Object.values调用返回了零长度数组。在这里工作jFiddle:https://jsfiddle.net/ca2xL0bf/
我的环境:Eclipse Neon,Tomcat 8.5。浏览器:在Chrome和IE11上都经过测试。
特定代码或环境可能有什么问题?
谢谢
亚历克斯
function countPLines(data){
var pl = data.split(',');
pl.forEach(function(entry){
pLines[entry] = (pLines[entry] || 0) + 1;
});
}
function createChartData(){
console.log(pLines);
console.log(Object.keys(pLines));
console.log(Object.values(pLines));
}
var pLines = {};
var data = ['a', 'b', 'c,a,b', 'a,b'];
data.forEach(function(ele) {
countPLines(ele);
});
createChartData();
答案 0 :(得分:0)
您需要使用相同的名称:pLines
与PLines
。
function countPLines(data) {
var pl = data.split(',');
pl.forEach(function(entry) {
pLines[entry] = (pLines[entry] || 0) + 1;
});
}
function createChartData() {
console.log(pLines);
console.log(Object.keys(pLines));
console.log(Object.values(pLines));
}
var pLines = {};
var data = ['a', 'b', 'c,a,b', 'a,b'];
data.forEach(countPLines);
createChartData();