标签: lodash

在JavaScript数组中所有元素之间穿插元素的方法是什么?

假设我有一个数组var arr = [1, 2, 3],我想用元素分隔每个元素,例如.var sep = "&",所以输出是[1, "&", 2, "&", 3].

考虑它的另一种方法是我想做Array.prototype.join(arr.join(sep))而不是结果是一个字符串(因为我试图使用的元素和分隔符是对象,而不是字符串).

有没有一种功能性/漂亮/优雅的方式来做es6/7或lodash没有像笨重的东西:

_.flatten(arr.map((el, i) => [el, i < arr.length-1 ? sep : null])) // too complex
Run Code Online (Sandbox Code Playgroud)

要么

_.flatten(arr.map(el => [el, sep]).slice(0,-1) // extra sep added, memory wasted
Run Code Online (Sandbox Code Playgroud)

甚至

arr.reduce((prev,curr) => { prev.push(curr, sep); return prev; }, []).slice(0,-1)
// probably the best out of the three, but I have to do a map already
// and I still have the …
Run Code Online (Sandbox Code Playgroud)

javascript arrays ecmascript-6 lodash

18
推荐指数
4
解决办法
4070
查看次数

使用lodash过滤包含字符串的对象数组

我有一个值,我需要在propertie中返回包含此值的对象.

var search='CPP@';
var results=_.filter(collection,{VAL:search});
Run Code Online (Sandbox Code Playgroud)

我需要抓住所有压缩'CPP @'的对象,而不是等于.我准备了一个https://jsfiddle.net/licass/e87mxfqt/

提前致谢.

javascript lodash

18
推荐指数
2
解决办法
3万
查看次数

如何在 vite 中配置 Lodash Tree Shaking

现在,我正在使用 Vite2.x 使用“rollup-plugin-visualizer”构建我的项目,我发现它构建了整个 lodash 包

那么,如何配置 vite2.x 来减少 lodash 包的大小 在此输入图像描述

lodash tree-shaking vite

18
推荐指数
1
解决办法
1万
查看次数

在Javascript中创建类似字典对象的.net

我想在JavaScript中创建一个对象,它将值存储在键,值对中,我应该能够传递一些键,并且应该能够获得它的值.在.NET世界中,我们可以使用字典类来实现这种实现.我们在JavaScript世界中有任何选择吗?我正在使用ExtJs 4.1,所以如果你知道ExtJS中的任何选项,即使这样也行.

我尝试过类似的东西,但我无法通过钥匙获得价值.

var Widget = function(k, v) {
    this.key = k;
    this.value = v;
};

var widgets = [
    new Widget(35, 312),
    new Widget(52, 32)
];
Run Code Online (Sandbox Code Playgroud)

.net javascript jquery extjs4 lodash

17
推荐指数
1
解决办法
2万
查看次数

我可以将参数传递给使用_.lodash去抖动的函数吗?

我一直在尝试使用_lodash.debounce(),我让它工作.但是我不确定它是否以最好的方式工作.我查看了lodash网站上的示例,它们似乎只是简单的示例,不传递参数.这就是我所拥有的:

$scope.parsePid = _.debounce(function () {
    $scope.$apply(function () {
        var pid = $scope.option.sPidRange;
        if (pid == null || pid === "") {
            $scope.pidLower = null;
            $scope.pidUpper = null;
        }
        else if (pid.indexOf("-") > 0) {
            pid = pid.split("-");
            $scope.pidLower = parseInt(pid[0]);
            $scope.pidUpper = parseInt(pid[1]);
        }
        else {
            $scope.pidLower = parseInt(pid);
            $scope.pidUpper = null;
        }
    });
}, 1500);
Run Code Online (Sandbox Code Playgroud)

上面的代码返回一个$scope.parsePid被去抖动的函数.请注意,在第4行,我得到了值$scope.option.SPidRange并在函数中使用它.我真的想以某种方式传递这个参数而不是这样.

我把这个函数称为:

$scope.$watch("option.sPidRange", function (pid) {
    if (pid !== null) {
        $scope.parsePid();
    }
});
Run Code Online (Sandbox Code Playgroud)

这里的值pid应该等于 $scope.parsePid

我想将这个pid的值传递给debounced函数,但我不知道该如何做到这一点.我尝试了一些不同的东西,但去抖功能会出错.

是否可以将参数传递到去抖动function …

javascript angularjs lodash

17
推荐指数
1
解决办法
1万
查看次数

使用Lodash/Underscore从对象列表中跳过并返回对象

我需要执行类似于C#中编写的以下操作:

int[] items = { 1, 2, 3, 4, 5, 6, 7 };
var a = items.Skip(2).Take(3);
Run Code Online (Sandbox Code Playgroud)

哪个返回3,4和5

同样,我需要从对象列表中跳过记录

$scope.myObject = [ { Editable: true, Name: "Daniel Test", Site: "SE100"},
                    { Editable: true, Name: "Test new", Site: "SE100"},
                    { Editable: false, Name: "Test", Site: "SE100"} ]
Run Code Online (Sandbox Code Playgroud)

我需要跳过第一条记录并取回剩余的记录,即第1条记录

我怎么能用lodash/underscore做到这一点?

javascript underscore.js lodash

17
推荐指数
5
解决办法
1万
查看次数

我如何使用lodash与Ionic 2?

我刚刚开始使用Ionic 2开发一个新项目.我是TypeScript的新手,并且一直试图弄清楚如何将lodash包含到我的项目中.

那里有没有人做过这件事,能指出我正确的方向吗?

typescript lodash ionic

17
推荐指数
4
解决办法
6953
查看次数

React Native:使用lodash debounce

我正在玩React Native和lodash的辩护.

使用以下代码只会使其像延迟而不是去抖动一样工作.

<Input
 onChangeText={(text) => {
  _.debounce(()=> console.log("debouncing"), 2000)()
 }
/>
Run Code Online (Sandbox Code Playgroud)

如果我输入像"foo"这样的输入,我希望控制台只记录一次debounce.现在它记录"debounce"3次.

javascript lodash reactjs react-native

17
推荐指数
3
解决办法
1万
查看次数

Lodash辩解没有在React工作

最好先看看我的代码:

import React, { Component } from 'react';
import _ from 'lodash';
import Services from 'Services'; // Webservice calls

export default class componentName extends Component {
  constructor(props) {
    super(props);
    this.state = {
      value: this.props.value || null
    }
  }

  onChange(value) {
    this.setState({ value });

    // This doesn't call Services.setValue at all
    _.debounce(() => Services.setValue(value), 1000);
  }

  render() {
    return (
      <div>
        <input 
          onChange={(event, value) => this.onChange(value)}
          value={this.state.value}
        />
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

只是一个简单的输入.在构造函数中,它value从道具(如果可用)中获取组件的本地状态.

然后在I 的onChange函数中input更新状态,然后尝试调用webservice端点来设置新值 …

javascript ecmascript-6 lodash reactjs debounce

17
推荐指数
3
解决办法
1万
查看次数

lodash属性在数组和嵌套子数组中搜索

我有这个数组:

[
    {
        id: 1,
        name: 'test 1',
        children: []
    },
    {
        id: 2,
        name: 'test 2',
        children: [
            {
                id: 4,
                name: 'test 4'
            }
        ]
    },
    {
        id: 3,
        name: 'test 3',
        children: []
    }
]
Run Code Online (Sandbox Code Playgroud)

如何通过id此数组嵌套children数组中的属性进行过滤?

例如,搜索id = 3,应返回test 3对象,并搜索id = 4应返回test 4对象.

javascript underscore.js lodash

16
推荐指数
3
解决办法
2万
查看次数