Adi*_*tya 1 javascript arrays lodash
我有这个对象集合:
const objects = [
{ id: '11', name: 'ron', surname: 'lesner', group: 'A' },
{ id: '12', name: 'don', surname: 'lesner', group: 'B' },
{ id: '13', name: 'ton', surname: 'lesner', group: 'A' },
]
Run Code Online (Sandbox Code Playgroud)
我需要使用 Lodash 返回具有匹配 id 的对象。
以下代码返回undefined:
_.find(object, id, 11);
Run Code Online (Sandbox Code Playgroud)
我期待这个结果:
{ id: '11', name: 'ron' , surname: 'lesner' , group: 'A' }
Run Code Online (Sandbox Code Playgroud)
您需要传递数字的'11'字符串表示形式11,因为您的 id 类型为string。使用Lodash#find
const object = [
{id: '11', name: 'ron' , surname: 'lesner' , group: 'A'},
{id: '12', name: 'don' , surname: 'lesner' , group: 'B'},
{id: '13', name: 'ton' , surname: 'lesner' , group: 'A'}
];
const found = _.find(object , ['id', '13']);
console.log(found);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
你也可以使用纯 Javascript 而不是 lodash?
const object = [
{id: '11', name: 'ron' , surname: 'lesner' , group: 'A'},
{id: '12', name: 'don' , surname: 'lesner' , group: 'B'},
{id: '13', name: 'ton' , surname: 'lesner' , group: 'A'}
];
const found = object.find(item => item.id === '11');
console.log(found);Run Code Online (Sandbox Code Playgroud)