我正在使用 _underscore 。我想重命名特定键的值。
var users = [{
"_id": { "$oid":"3426" },
"name":"peeter"
}, {
"_id": { "$oid":"5a027" },
"name":"ken"
}, {
"_id": { "$oid":"5999" },
"name":"karmal"
}];
var index = _.find(users, function(o) { return o._id.$oid == '5999'; });
console.log(index);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;
在console.log(index)
的上面输出中,我想编辑key(name)的值,意思是添加karmal-Copy。
所需的输出
{
"_id": {
"$oid": "5999"
},
"name": "karmal-Copy"
}
我只想添加-Copy和键(名称)值。
答案 0 :(得分:1)
您可以更新找到的对象。
var users = [{ _id: { $oid: "3426" }, name: "peeter" }, { _id: { $oid: "5a027" }, name:"ken" }, { _id: { $oid: "5999" }, name: "karmal" }],
item = _.find(users, function(o) { return o._id.$oid == '5999'; });
if (item) { // check if item exists
item.name += '-Copy'; // update property
}
console.log(users);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;
答案 1 :(得分:0)
具有高阶函数的强大功能
var users = [
{"_id":{"$oid":"3426"},
"name":"peeter"
},
{"_id":{"$oid":"5a027"},
"name":"ken"
},
{"_id":{"$oid":"5999"},
"name":"karmal"
}
];
var getSpecific$oid=function(oid){
return function(obj) { return obj["_id"]["$oid"]===oid; };
}
var addExtensionInName=function(extension){
return function(obj){
var rObj = {};
rObj["_id"]=obj["_id"]
rObj["name"]=obj["name"] +"-"+extension;
return rObj;
};
}
var index=users.filter(getSpecific$oid("5999")).map(addExtensionInName("copy"))
答案 2 :(得分:-1)
试试这个:
for(var i = 0; i < users.length; i++) {
if(users[i]._id.$oid == 5999) {
users[i].name += "-Copy";
}
}
答案 3 :(得分:-1)
你走了:
var users = [
{"_id":{"$oid":"3426"},
"name":"peeter"
},
{"_id":{"$oid":"5a027"},
"name":"ken"
},
{"_id":{"$oid":"5999"},
"name":"karmal"
}
];
var index = _.find(users, function(o) {
if(o._id.$oid == '5999'){
o.name += '-Copy';
return o._id.$oid == '5999';
}
});
console.log(index);
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
&#13;