应用程序以某种方式将不需要的参数写入对象
Application somehow writing unwanted parameters to object
我有两个函数。它们都采用了一个巨大的JSON对象,其中一个将其更改为格式:
[{ date: 'date', count_0: '10' },
{ date: 'date', count_0: '10' }]
另一个函数将JSON对象更改为以下格式:
[{ date: 'date', count_0: '10', count_1: '20', count_2: '30' ... },
{ date: 'date', count_0: '10', count_1: '20', count_2: '30' ... }]
这是奇怪的部分我只调用第一个函数,但我的程序正在尝试生成第二个函数的格式
另一个函数在我的代码中,但我知道它没有被调用,因为我在其中有许多alert
函数没有启动。
这是一个澄清,使我的问题更清楚下面是第一个函数。。。一堆(for... in)
垃圾和条件语句:
function firstFunction(data, sort, campaign) {
var transformed_data = [];
// Loop through the original data
for(var d in data) {
var obj = data[d];
// If you have the correct campaign data
if(obj.name === campaign) {
// For each data entry in this object
for(var obj_d in obj.data) {
var obj_data = obj.data[obj_d];
// Create a temporary transformed object to hold the proper data
var transformed_obj = {
date: obj_data.date,
count_0: obj_data[sort]
}
// This console log shows the transformed_obj in the expected format
console.log(transformed_obj);
// Push the temporary object into the helper array
transformed_data.push(transformed_obj);
// This console log flips a shit
console.log(transformed_data);
}
}
}
// Return helper array
return transformed_data;
}
该功能中的第一个控制台日志显示正确的格式:
Object {date: "2013-01-01", count_0: 17147}
第二个控制台日志显示:
[Object]
好吧,到目前为止还不错。。。让我们扩展一下…
扩展:
0: Object
1: Object
2: Object
3: Object
4: Object
5: Object
6: Object
7: Object
什么?这根本不是意料之中的事。。。想知道如果我们展开其中一个对象会发生什么。。。
扩展对象:
count_0: 17147
count_1: NaN
count_2: NaN
count_3: NaN
count_4: NaN
count_5: NaN
date: Mon Dec 31 2012 19:00:00 GMT-0500 (EST)
什么????为什么它试图写入属性count_1
到count_5
?这里可能有什么问题?
已解决
我的指令试图向不存在的数组写入属性,显然该指令在控制器之前启动。标记为关闭。
var obj_data = obj.data[obj_data];
正在破坏循环"迭代器"。请尝试使用其他变量(例如var element=(。
另外,您用jQuery标记了这个问题——为什么不接受jQuery呢?
相关文章:
- 我们可以用参数对象集合而不是原始数据来调用JavaScript collection.reduce()方法吗
- 如何将参数对象传输到函数
- 为什么参数对象没有在控制台中显示它的方法
- JavaScript参数对象不起作用
- 如何在 JavaScript 中取消移位或添加到参数对象的开头
- 使用参数对象而不是参数
- JavaScript 参数对象 MDN 指南
- 如何获取参数对象的子集?(关于具有可变大小的参数)
- 如何更好地检查 javascript 中的参数对象
- 如何使用 ajax 调用带有参数(对象)的服务器端方法,其中 url 具有查询参数
- 如何在 ie8 中检测参数对象
- 手动将 AngularJS $http参数对象转换为 URL 参数
- JavaScript 参数对象引用未知
- Javascript - 对 2 参数对象的数组进行排序
- 为什么下划线说 _.initial 对参数对象特别有用
- 未命名的传递参数不包含在“参数”对象中
- JavaScript:获取回调的参数对象
- Javascript参数对象
- 围绕JavaScript参数对象使用的Sonar违规
- each()在IE8上不起作用,并给了我一个“;期望应用数组或参数对象”;.如何解决