lodash获取数组或对象的值 at
时间: 2023-08-06 19:02:25 浏览: 46
lodash库提供了一个名为`_.at`的方法,可以用于获取数组或对象中指定路径的值。该方法接受两个参数,第一个参数为待获取值的数组或对象,第二个参数为一个或多个路径,可以使用字符串或数组形式表示。示例代码如下:
```javascript
const _ = require('lodash');
const object = { 'a': [{ 'b': { 'c': 3 } }, 4] };
const result = _.at(object, ['a[0].b.c', 'a[1]']);
console.log(result); // Output: [3, 4]
```
上述代码中,我们通过`_.at`方法获取了对象`object`中路径为`'a[0].b.c'`和`'a[1]'`的值,分别为`3`和`4`。需要注意的是,路径中的数组索引需要使用`[]`进行表示,而不能使用`.`。
相关问题
lodash 去重数组套对象的api
在lodash库中,你可以使用`uniqBy`函数来去重数组套对象的数据。该函数接受两个参数:要去重的数组和用于比较的属性。
以下是一个使用`uniqBy`函数来去重数组套对象的示例代码:
```javascript
const _ = require('lodash');
const arr = [
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 1, name: 'John' },
{ id: 3, name: 'Mike' }
];
const uniqueArr = _.uniqBy(arr, 'id');
console.log(uniqueArr);
```
在上述示例中,我们使用`uniqBy`函数将数组`arr`中的对象按照`id`属性进行比较,并返回去重后的结果。
输出结果为:
```javascript
[
{ id: 1, name: 'John' },
{ id: 2, name: 'Jane' },
{ id: 3, name: 'Mike' }
]
```
注意,这里只保留了第一个出现的具有相同id属性的对象,后续重复的对象被去除了。
希望对你有所帮助!如果还有其他问题,请随时提问。
lodash 数组包含子数组
可以使用 lodash 中的 `_.some` 方法来判断一个数组中是否包含指定的子数组。
例如,假设我们要判断数组 `[1, 2, [3, 4], 5]` 是否包含子数组 `[3, 4]`,可以使用以下代码:
```javascript
const _ = require('lodash');
const arr = [1, 2, [3, 4], 5];
const hasSubArray = _.some(arr, item => _.isEqual(item, [3, 4]));
console.log(hasSubArray); // true
```
这里使用了 `_.isEqual` 方法来判断两个数组是否相等。注意,`_.isEqual` 方法会递归比较数组中的每个元素,因此可以比较复杂的嵌套数组。