我在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作为参数,有没有办法切割仅使用对象中的值名称的对象?
答案 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
}
}