I'我一直在把一个数组变成一个对象数组的问题
I'm stuck at turning an array into an array of objects issue
所以我的数组看起来像这样:
var data = ["5/10/2014", 2, "5/10/2014", 5, "5/11/2014", 6....];
这个数组有上千个单元格,这并不重要,但我无论如何都会提到它。
我想把这个数组变成一个对象数组,看起来像这样:
var iWantToBelieve = [{Date:"5/10/2014", Score: 2}, {Date: 5/10/2014, Score:5}.....];
我觉得我快要解决这个问题了,但我的代码给了我最终的结果:
var iWantToBelieve = [{Date:"5/10/2014", Score: "5/10/2014"}, {Date: 5/10/2014, Score: "5/10/2014"}.....]
我的代码如下:
var data = ["5/10/2014", 2, "5/10/2014", 5, "5/11/2014", 6....];
var init = [];
var tempObject;
for(var z = 0; z < data.length; z++){
var tempArray = ["Date", "Score"];
tempObject = {};
for(var y = 0; y < tempArray.length; y++){
tempObject[tempArray[y]] = data[z];
}
init.push(tempObject);
}
我知道第二个for循环在第一个循环开始另一个迭代之前完成了2次迭代,所以Date和Score键都被日期字符串占用了。
感谢您的帮助。
您可以使用for并将itterator增加2。
var iWantToBelieve = []
for (var i = 0; i < data.length; i += 2) { // i = 0, 2, 4..
iWantToBelieve.push({
Date: data[i], // 1st value is the date
Score: data[i + 1] // 2nd value is score
});
}
var data = ["5/10/2014", 2, "5/10/2014", 5, "5/11/2014", 6]
var result = []
for (var j=0; j<data.length; j+=2)
result.push({ Date: data[j], Score: data[j + 1]})
console.log(result)
var data = ["5/10/2014", 2, "5/10/2014", 5, "5/11/2014", 6];
var result = [];
while (data.length) result.push({Date: data.shift(), Score: data.shift()});
console.log(result);
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 根据id将json数组组合为一个json数组
- JavaScript数组包含一个值
- 对一个对象使用reduce可以返回一个没有't在数组中包含目标字母
- jQuery$.inArray()总是返回-1和一个对象数组
- 在数组中的一个元素上设置多个值
- javascript处理一个对象数组以获得一个新的对象数组
- 作为一个二维数组,从ajax接收
- 你能用来自数组的属性名称生成一个对象吗
- 多维关联数组的最后一个索引
- 如何创建一个方法来验证数组的范围
- 循环以检查数组中的最后一个图像
- 在Javascript中将一个值和字符串数组转换为if语句
- 算法:从数组(javascript/angular)中按当前日期获取上一个和下一个事件
- 如何将一个对象添加到每个对象数组中
- 如何创建一个谷歌地图地理坐标数组
- 如何从另一个带下划线的数组中筛选带元素的数组
- 使用window.location.htm和匹配的URL数组(一个用于桌面,一个用于移动)将桌面网站重定向到移动
- Javascript排序多维数组-一个完整的例子
- 刽子手的游戏.2数组.一个需要相应地更新另一个