data.json看起来像
[
{
"uid": 11111,
"status": "ADMIN"
},
{
"uid": 22222
}
]
我使用lodash找到密钥uid = 22222
_。find(data,(item)=> item.uid === 22222)
结果是{uid:22222}
我如何添加一些状态:"值"结果我找到了lodash 我希望像这样
[
{
"uid": 11111,
"status": "ADMIN"
},
{
"uid": 22222,
"status": "USER"
}
]
答案 0 :(得分:1)
您可以使用_.find()
来获取对象,并_.set()
进行更新:
var data = [{"uid":11111,"status":"ADMIN"},{"uid":22222}];
_.set(_.find(data, function(obj) { return obj.uid === 22222; }), 'value', 'USER');
_.set(_.find(data, function(obj) { return obj.uid === 23322; }), 'value', 'USER'); // no object was found and nothing changed
console.log(data);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
答案 1 :(得分:0)
这为您提供了对象,因此您可以直接使用它:
plotOptions
否则,您可以获取索引并更新整个对象。
_.find(data, item => item.uid === 22222).status = "USER";
根据您工作的环境,您不需要使用lodash,只需使用const idx = _.findIndex(data, item => item.uid === 22222);
data[idx] = Object.assign(data[idx], {status: "USER"});
。
答案 2 :(得分:0)
您不需要lodash,请使用Array.prototype.find:
getCredentials
Here is a jsbin to play around.
如果您身处旧环境(Internet Explorer mostly),请使用Array.prototype.filter:
email