用Javascript移动一个对象(元素) [英] Move an object (element) one step up with Javascript

查看:167
本文介绍了用Javascript移动一个对象(元素)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有几个这样的对象:



我想移动类型一步,所以它们将在字段旁边,然后删除 data

departments 转换为JSON时,它看起来像这样:

  
{field:DEPARTMAN_NO,
data:{type:numeric,comparison:eq,value:11}
} ,
{field:DEPARTMAN_ADI,
data:{type:string,value:bir}
}
]

我试过了:

  departments = grid.filters.getFilterData(); 
i = {};
for(var i in department){
department = i.data;
delete.department.data;
};

但是没有用。

解决方案

1)首先,循环部门,我们称之为 department ;

2)您想将 department.data 的属性移动到 department ,From另一个角度,可以将 department 的属性移动到 department.data 并返回 department。数据,代码如下:

pre $ var $ DEPARTMAN_NO,
data:{
type:numeric,
comparison:eq,
value:11
}
字段:DEPARTMAN_ADI,
data:{
type:string,
value:bir
}
}],
部门;

for(var i = 0,len = departments.length; i< len; i ++){
department = departments [i]; (部门中的var键){
if(key!=='data'&&department.data){
department.data [key] = department [键];
}
}
部门[i] = department.data ||部; //如果没有department.data,没有改变
}

console.log(departments);

结果:



查看完整的演示 http://jsfiddle.net/KVYE5/


I have several objects like this:

I want to move type and value one step up so they will be next to field, and then delete data.
It looks like this when departments is converted to JSON:

[
    {"field"    : "DEPARTMAN_NO",
     "data"     : { "type":"numeric" , "comparison":"eq" , "value":11 }
    },
    {"field"    : "DEPARTMAN_ADI",
     "data"     : { "type":"string" , "value":"bir" }
    }
]

I have tried:

departments = grid.filters.getFilterData();
i = {};
for(var i in department) {
department = i.data;
delete.department.data;
};

but it dosen't work.

解决方案

1) First, loop departments, each item we call it department;
2) You want to move department.data's properties to department, From another angle, you can move department's properties to department.data and return department.data, code like:

var departments = [{
        "field": "DEPARTMAN_NO",
        "data": {
            "type": "numeric",
            "comparison": "eq",
            "value": 11
        }
    }, {
        "field": "DEPARTMAN_ADI",
        "data": {
            "type": "string",
            "value": "bir"
        }
    }],
    department;

for (var i = 0, len = departments.length; i < len; i++) {
    department = departments[i]; // department
    for (var key in department) {
        if (key !== 'data' && department.data) {
            department.data[key] = department[key];
        }
    }
    departments[i] = department.data || department; // if no department.data, no change
}

console.log(departments);

result:

view the full demo http://jsfiddle.net/KVYE5/

这篇关于用Javascript移动一个对象(元素)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆