根据JavaScript中的条件将对象拆分为对象数组
Split an object into array of objects based on a condition in JavaScript
如何根据条件将对象拆分为对象数组。
oldObject = {"Chicago, IL:Myrtle Beach, SC": 0.005340186908091907,
"Portsmouth, NH:Rock Hill, SC": 0.0063224791225441205,
"Columbia, SC:Laconia, NH": 0.006360767389277389,
"Council Bluffs, IA:Derry, NH": 0.0016636141225441225}
上面是给定的示例对象。我想做一个像这样的对象数组,
newArray = [{"city":"Chicago", "similarTo":"Myrtle"},
{"city":"Portsmouth", "similarTo":"Rock Hill"},
{"city":"Columbia", "similarTo":"Laconia"},
{"city":"Council Bluffs", "similarTo":"Derry"}]
有一段时间我一直对此感到头疼。如何获取上面的数组(newArray)?
这里有一堆你可以尝试的代码。
1) 遍历oldObject并获取属性的名称。
2) 根据":"字符将该名称拆分为一个数组,因为它将城市分隔开
3) 遍历这个新数组,将其拆分在","字符上(这样就不会得到状态)。
4) 将值放入newObject中,这取决于它是原始属性名称的第一部分还是第二部分。
5) 将现在带有项的newObject推送到一个newArray中。
基本上,这会解析名称并进行一些数组拆分以获得正确的值。希望它能帮助你,也能帮助你理解。
var oldObject = {"Chicago, IL:Myrtle Beach, SC": 0.005340186908091907,
"Portsmouth, NH:Rock Hill, SC": 0.0063224791225441205,
"Columbia, SC:Laconia, NH": 0.006360767389277389,
"Council Bluffs, IA:Derry, NH": 0.0016636141225441225};
var newArray = [];
for (object in oldObject) {
var thisObjectName = object;
var thisObjectAsArray = thisObjectName.split(':');
var newObject = {
'city': '',
'similar_to': ''
};
thisObjectAsArray.forEach(function(element,index,array) {
var thisObjectNameAsArray = element.split(',');
var thisObjectNameCity = thisObjectNameAsArray[0];
if(index===0) {
newObject.city = thisObjectNameCity;
} else if(index===1) {
newObject.similar_to = thisObjectNameCity;
}
});
newArray.push(newObject);
}
console.log(newArray);
PS:要进行测试,请运行上面的代码并检查您的Developer Tools控制台以查看新的数组输出。
相关文章:
- 简单地将拆分变量添加到对象中
- 想要使用Javascript将一个JSON对象拆分为多个JSON对象
- 如何在javascript中逐个拆分对象数组
- Grunt,TypeError:对象没有方法'拆分'
- 根据属性将javascript中的对象数组拆分为单独的数组
- 如何按子值将对象数组拆分为多个对象数组
- 名称对象/拆分为单独的对象或数组
- 如何使用Handlebars.js按状态拆分对象数组
- 根据年龄值将对象阵列拆分为新阵列或对象
- 根据JavaScript中的条件将对象拆分为对象数组
- 在Meteor.JS Handlebars中将对象转换为数组后无法拆分字符串
- KineticJS - 如何拆分对象和文件
- 使用拆分字符串的数组创建一个对象
- 如何在多个文件中拆分 JavaScript 对象定义
- 通过拆分字符串将字符串数组转换为对象数组
- 将数组值拆分为对象
- 按 ],[ 拆分字符串并创建 JSON 对象
- 如何将长JS代码作为对象拆分为单独的文件
- 如何将字符串数组转换为对象,以便将这些对象拆分为键值对
- 将具有方形背景名称的JSON对象拆分为子对象