JQuery用属性切片对象

时间:2013-12-29 18:42:50

标签: jquery object

我在jquery中有一个脚本,它在{name : value}中生成一个看起来像这样的对象:

fracht_1_eta :""
fracht_1_ets :""
fracht_2_eta :"2013-11-21"
fracht_2_ets :""
fracht_3_eta :""
fracht_3_ets :"" 
oncarriage_pickup_pl:""
precarrige_date_pickup_pl:"2013-12-05"

现在我想剪切该对象,例如从fracht_1_eta切换到fracht_3_ets,想法是我想将其剪切为动态,我看到切片使用int作为参数,有没有办法切割仅使用对象中的值名称的对象?

1 个答案:

答案 0 :(得分:2)

对象属性没有顺序,因此使用数字将对象分成两个(或更多)对象没有任何意义。这对于数组是有意义的,但对于非数组对象则没有意义。

您可以使用for-in循环遍历对象的(可枚举)属性,如下所示:

var yourObject = /*...whatever creates that object...*/;
var key;
for (key in yourObject) {
    // Here, the `key` variable will containg name of each property, e.g.
    // "fracht_1_eta"
}

...然后使用适当的逻辑将属性放在不同的对象中。

例如,这是一个将所有以“fracht”开头的属性放在一个单独的对象中的示例:

var yourObject = /*...whatever creates that object...*/;
var fracht;
var key;
fracht = {}; // A new object for the "fracht" properties
for (key in yourObject) {
    if (key.substring(0, 6) === "fracht") {
        fracht[key] = yourObject[key];   // Copy the property
        delete yourObject[key];          // Remove it from the original object
    }
}