gpt4 book ai didi

javascript - 使用 underscoreand 和 lodash 库按 ID 从数组中获取项目

转载 作者:行者123 更新时间:2023-11-30 07:35:59 26 4
gpt4 key购买 nike

我有这个数组:

var arrA = [
{"id": 1, "name": "Manager", "assignable": true},
{"id": 2, "name": "Developer", "assignable": true},
{"id": 3, "name": "Reporter", "assignable": true}
{"id": 4, "name": "Position", "assignable": true},
{"id": 5, "name": "Mayor", "assignable": true},
{"id": 6, "name": "Porter", "assignable": true}];

var arrB = [1,4,5];

我在我的项目中使用了 underscore.jslodash.js

从 arrA 数组中获取 id 等于 arrB 项的所有项的优雅方法是什么?

最佳答案

最高效和优雅的方法是使用 lodash 的链接到 .indexBy() 通过 ids 的项目,然后使用 获取相关项目 .at() :

var arrA = [
{"id": 1, "name": "Manager", "assignable": true},
{"id": 2, "name": "Developer", "assignable": true},
{"id": 3, "name": "Reporter", "assignable": true},
{"id": 4, "name": "Position", "assignable": true},
{"id": 5, "name": "Mayor", "assignable": true},
{"id": 6, "name": "Porter", "assignable": true}
];

var arrB = [1,4,5];

var returnedItems = _(arrA)
.indexBy('id')
.at(arrB)
.value();

document.getElementById('results').innerText = JSON.stringify(returnedItems);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>

<div id="results"></div>

关于javascript - 使用 underscoreand 和 lodash 库按 ID 从数组中获取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32830681/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com