繁体   English   中英

替换数组中的已加工元素,Lodash

[英]Replacement of a mached element in an array, Lodash

function replaceById(requests, request) {
    requests.splice(_.indexOf(requests, _.find(requests, {id: request.id})), 1, request);
}

Lodash(或其他实用程序库)是否提供了任何方法来简化对数组requests特定元素request替换,例如

function(r) { return _.eq(r.id, request.id); }

或身份对象,如

{id: request.id}

您可以使用findIndex

function replaceById(requests, request) {
  var index = _.findIndex(requests, function(r) { 
    return r.id === request.id 
  });
  requests.splice(index, 1, request);
}

 function replaceById(requests, request) { var index = _.findIndex(requests, function(r) { return r.id === request.id }); requests.splice(index, 1, request); } var requests = [{id: 1, msg: 'cool'}, {id: 2, msg: 'wow'}]; replaceById(requests, {id: 2, msg: 'stuff'}); console.log(requests);
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM