获取从包含特定字符串
问题描述:
对象属性我有一个这样的对象:获取从包含特定字符串
v = {
x1: "x",
x1_trust: "y",
x2: "something",
x2_trust: "something_else"
}
是否有可能创建一个包含“_trust”属性的新对象?我不知道该怎么做。
答
您可以使用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)
+0
谢谢,先生!这是我想要的。 – Alexandru
答
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);
+0
谢谢,我现在明白了! – Alexandru
答
你想让它只有_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;
}
});
搜索克隆对象和筛选。你会得到一个线索 –