Mic*_*ael 1 javascript underscore.js lodash
我有这个数组:
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];
Run Code Online (Sandbox Code Playgroud)
我在我的项目中使用了underscore.js和lodash.js
从arrA数组中获取id等于arrB项的所有项的优雅方法是什么?
最高性能和优雅的方法是使用lodash链接到.indexBy()项目的ID,然后使用lid 获取相关项目.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);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.js"></script>
<div id="results"></div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
523 次 |
| 最近记录: |