如何以非正确的键值映射为空值,以正确的顺序创建Array对象

时间:2015-06-01 14:00:24

标签: javascript

var my_array = [{
    'name': 'asdsad',
    'email': 'masdas',
    'phone': 'dsfdsfsdf',
    'login name': 'abc'
}, {
    'name': 'asdsad',
    'phone': 'dsfdsfsdf',
    'login name': 'abc'
}, {
    'name': 'asdsad',
    'email': 'masdas',
    'phone': 'dsfdsfsdf'
}];

我们预期的密钥键顺序为login nameemailnamephone

我们还希望将现有的键值对与空值一起使用。

这是我尝试做的事情我想将json转换为CSV并且它没有用正确的密钥填充正确的列块中的数据,如果在json对象中任何关键元素是乱码或不正确的顺序那么csv数据不会出现预期格式

http://jsfiddle.net/vUnF9/2344/

1 个答案:

答案 0 :(得分:0)

var my_json_array = [
    { 'name': 'asdsad', 'email': 'masdas', 'phone': 'dsfdsfsdf', 'login name': 'abc' },
    { 'name': 'asdsad', 'phone': 'dsfdsfsdf', 'login name': 'abc' },
    { 'name': 'asdsad', 'email': 'masdas', 'phone': 'dsfdsfsdf' }
];

for (var i=0; i< my_json_array.length; i++){
    for(key in my_json_array[i]){
        if(!my_json_array[i].hasOwnProperty('name')){
            my_json_array[i].name='';
        }
        if(!my_json_array[i].hasOwnProperty('phone')){
            my_json_array[i].phone='';
        }
        if(!my_json_array[i].hasOwnProperty('email')){
            my_json_array[i].email='';
        }
        if(!my_json_array[i].hasOwnProperty('login name')){
            my_json_array[i]['login name']='';
        }
    }
}
alert(JSON.stringify(my_json_array));  

DEMO