我有一个这样的对象:
v = {
x1: "x",
x1_trust: "y",
x2: "something",
x2_trust: "something_else"
}
是否可以使用包含“_trust”的属性创建新对象?我不知道该怎么做。
答案 0 :(得分:1)
您可以使用Object.keys()
和reduce()
创建新对象,并使用indexOf()
检查对象键是否包含子字符串。
var v = {
x1: "x",
x1_trust: "y",
x2: "something",
x2_trust: "something_else"
}
var newObj = Object.keys(v).reduce(function(r, key) {
if (key.indexOf('_trust') != -1) r[key] = v[key];
return r;
}, {});
console.log(newObj)

答案 1 :(得分:0)
var v = {
x1: "x",
x1_trust: "y",
x2: "something",
x2_trust: "something_else"
};
var op = Object.keys(v).reduce(function(a, b) {
return (b.indexOf('_trust') > -1) && (a[b] = v[b]), a;
}, {});
console.log(op);

答案 2 :(得分:0)
你想创建一个只有_trust键和值从你的对象v获取的新对象吗? 如果是这种情况,请尝试使用此代码(使用jquery)
v = {
x1: "x",
x1_trust: "y",
x2: "something",
x2_trust: "something_else"
}
var newJson = {};
jQuery.each(v, function(key, val) {
if(key.indexOf("_trust") > -1){
newJson[key] = val;
}
});