精华内容
下载资源
问答
  • JavaScript 数组纯函数

    2020-05-20 10:26:58
    1. 常用的数组 API forEach 遍历所有元素,item 对应的是元素的值,index 对应的是元素的位置 let arr = [4, 6, 8]; arr.forEach(function(item, index){ console.log(index, item) }) // 0 4 // 1 6 // 2 8 ...

    1. 常用的数组 API

    forEach 遍历所有元素,item 对应的是元素的值,index 对应的是元素的位置

    let arr = [4, 6, 8];
    arr.forEach(function(item, index){
      console.log(index, item)
    })
    // 0 4
    // 1 6
    // 2 8
    

    every 判断所有元素是否都符合条件

    let arr = [4, 6, 8];
    let result = arr.every(function(item, index){
      if(item < 10) {
        return true
      }
    })
    console.log(result) // true
    

    some 判断是否有至少一个元素符合条件

    let arr = [4, 6, 8];
    let result = arr.some(function(item, index){
      if(item < 7) {
        return true
      }
    })
    console.log(result) // true
    

    sort 排序
    arr.sort([compareFunction]),如果 compareFunction(a, b) 小于 0 ,那么 a 会被排列到 b 之前,如果没有指明 compareFunction,那么元素会按照转换为的字符串的诸个字符的 Unicode 位点进行排序

    let arr = [4, 3, 6, 2, 8];
    let result = arr.sort(function(a, b){
      return a - b
    })
    console.log(result) // [ 2, 3, 4, 6, 8 ]
    

    map 对元素重新组装,生成新数组

    let arr = [4, 3, 6, 2, 8];
    let result = arr.map(function(item, index){
      return item
    })
    console.log(result) // [ 4, 3, 6, 2, 8 ]
    

    filter 通过某一条件过滤数组

    let arr = [4, 3, 6, 2, 8];
    let result = arr.filter(function(item, index){
      if(item >= 5) {
        return true
      }
    })
    console.log(result) // [ 6, 8 ]
    

    2. 纯函数

    纯函数有两个特点:1. 不改变原数组(没有副作用);2. 返回一个数组

    除了上面提到的 forEach, every, some, filter 属于非纯函数外,我们常用的 push, pop, shift, unshift 方法也属于非纯函数

    const arr = [10, 20, 30, 40]
    
    const popRes = arr.pop()
    const shiftRes = arr.shift()
    const pushRes = arr.push(50) // 返回 length
    const unshiftRes = arr.unshift(5) // 返回 length
    
    console.log(popRes, arr) // 40 [ 10, 20, 30 ]
    console.log(shiftRes, arr) // 10 [ 20, 30 ]
    console.log(pushRes, arr) // 3 [ 20, 30, 50 ]
    console.log(unshiftRes, arr) // 4 [ 5, 20, 30, 50 ]
    

    常用的数组纯函数除了 sort, map, filter 之外,还有 concatslice

    const arr = [10, 20, 30, 40]
    
    const concatRes = arr.concat([50, 60])
    const sliceRes = arr.slice()
    
    console.log(concatRes) // [10, 20, 30, 40, 50, 60]
    console.log(sliceRes) // [ 10, 20, 30, 40 ]
    

    需要区分 slicesplice 的区别,slice 为纯函数,splice 为非纯函数

    const arr = [10, 20, 30, 40, 50]
    
    // slice 纯函数
    const sliceRes1 = arr.slice(1, 4)
    const sliceRes2 = arr.slice(2)
    const sliceRes3 = arr.slice(-3)
    
    console.log(sliceRes1, arr) // [ 20, 30, 40 ] [ 10, 20, 30, 40, 50 ]
    console.log(sliceRes2, arr) // [ 30, 40, 50 ] [ 10, 20, 30, 40, 50 ]
    console.log(sliceRes3, arr) // [ 30, 40, 50 ] [ 10, 20, 30, 40, 50 ]
    
    
    // splice 非纯函数
    const spliceRes1 = arr.splice(1, 2, 'a')
    const spliceRes2 = arr.splice(1, 2)
    const spliceRes3 = arr.splice(1, 0, 'a')
    console.log(spliceRes1, arr) // [ 20, 30 ] [ 10, 'a', 50 ]
    console.log(spliceRes2, arr) // [ 'a', 40 ] [ 10, 'a', 50 ]
    console.log(spliceRes3, arr) // [] [ 10, 'a', 50 ]
    

     

    展开全文
  • 主要针对JavaScript数组操作函数push,pop,join,shift,unshift,slice,splice,concat进行总结,感兴趣的小伙伴们可以参考一下
  • javascript数组排序函数 sort方法,默认是按照ASCII 字符顺序进行升序排列。
  • 主要给大家汇总介绍了Javascript数组操作函数,需要的朋友可以参考下
  • js数组和函数

    2016-12-25 20:31:10
    js数组数组有两种定义方式 Var arr = [1,2,4];定义一个数组,包含三个元素。 Var arr = new Array(5);定义一个数组数组的长度是5 Var arr = new Array(1,2,4);...js函数函数定义的格式,关键字function。fun

    js数组:
    数组有两种定义方式
    Var arr = [1,2,4];定义一个数组,包含三个元素。
    Var arr = new Array(5);定义一个数组,数组的长度是5
    Var arr = new Array(1,2,4);定义数组,包含三个元素
    数组有属性length
    数组的长度是可变的
    数组可以存放不同的数据类型的数据
    js函数:

    函数定义的格式,关键字function。

    funtion 方法名称(参数列表){
                方法体;
                return;
            }

    注意:
    函数需要调用才能执行。
    定义函数参数列表时,不必使用var关键字。
    Javascript中不存在重载形式。
    在每个javascript的函数中,都存在一个数组arguments,用于存储参数列表。

    function add(num1,num2){
                var result = num1 + num2;
                alert(result);
            }
            add(10,10,2,3);//结果是20

    如果调用方法时,忘记了写(),则会把函数对象的引用传给接收的变量,而打印出函数体的内容

        function add(){
                return 100;
            }
            var sum = add();
            alert(sum);
            打印结果是:100
    
        function add(){
                return 100;
            }
            var sum = add;
            alert(sum);
            打印结果是:
            function add(){
                return 100;
            }
    展开全文
  • 主要介绍了js数组方法扩展,实现数组统计函数,需要的朋友可以参考下
  • Js数组常用函数

    2016-09-02 08:46:12
    js数组函数
    1.Array.push() 添加元素在数组的最后,并返回最后一个元素
    
    2.Array.pop() 删除最后一个元素
    
    3.Array.unshift() 在数组前面添加元素
    
    4.Array.splice(n,x) 删除从n开始的x个元素
    
    5.indexOf() 搜索整个数组中具有给定的元素,返回找到的第一个元素索引
    
    6.map() 调用的数组的每一个元素传递给指定的函数,并返回一个数组
    b=a.map(function(){
        return a+1;
    });
    //数组相关函数
    Array.max = function (array) {
        return Math.max.apply(Math, array);
    };
    Array.min = function (array) {
        return Math.min.apply(Math, array);
    };
    Array.prototype.contains = function (obj) {
        var i = this.length;
        while (i--) {
            if (this[i] === obj) {
                return true;
            }
        }
        return false;
    }
    展开全文
  • 本文给大家简单探讨下Js数组排序函数sort()的用法示例,有需要的小伙伴可以参考下。
  • JS数组常用函数

    2019-06-05 20:39:06
    函数名 功能 格式 返回值 注意 concat() 链接多个数组或者多个值,返回新数组 数组对象.concat(值,值,……); 链接后的新数组数组无变化 join() 使用指定的字符将数组的所有元素...
    函数名功能格式返回值注意
    concat()链接多个数组或者多个值,返回新数组数组对象.concat(值,值,……);链接后的新数组原数组无变化
    join()使用指定的字符将数组的所有元素链接成字符串返回数组对象.join(指定字符);链接后的字符串原数组无变化
    pop()在数组的尾部弹出一个元素数组对象.pop();弹出的最后一个元素当前函数直接改变原有数组的内容
    push()在数组的尾部添加N个元素数组对象.push(值,值...);添加之后的数组长度当前函数直接改变原有数组的内容
    shift()    在数组的开头移除一个元素数组对象.shift();弹出的第一个值当前函数直接改变原有数组的内容
    unshift()在数组的开头添加N个元素数组对象.unshift(值,值...);添加之后的数组长度当前函数直接改变原有数组的内容
    slice()数组切割函数数组对象.slice(起始位置);从指定的位置开始截取到数组的最后原数组截取后得到的新数组

    位置参数可以正,可以负,正数和0标识从前往后,

    负数标识从后向前数。

    原数组无变化

    数组对象.slice(开始位置,结束位置);从开始位置截取到结束位置之间的所有元素
    原数组截取出来的元素 
    splice()增删改万能操作函数数组对象.splice(开始位置,删除数量,新增的元素,新增的元素); 在数组的指定位置删除并添加元素原数组截取出来的元素当前函数直接改变原有数组的内容
    数组对象.splice(开始位置,0,新增元素...); 在数组的指定位置添加元素
       数组对象.splice(开始位置,删除数量);在数组的指定位置删除元素
    数组对象.splice(开始位置,删除个数,删除个数个新值...);在数组的指定位置修改元素
    sort()数组排序操作

                                               自然排序法:数组变量.sort(function(a,b)
                                                                                   {
                                                                             return a-b;
                                                                                   });

    排序后的新数组当前函数直接改变原有数组的内容
    倒叙排序法:数组变量.sort(function(a,b)
            {
                return b-a;
            });
    reverse()数组反转函数数组变量.reverse()反转后的数组当前函数直接改变原有数组的内容

     

    展开全文
  • reverse方法将一个Array对象中的元素位置进行反转,sort方法返回一个元素已经进行了排序的 Array 对象,下面为大家介绍下
  • js 数组移除函数

    2019-03-08 15:02:39
    // 数组移除函数 Array.prototype.remove = function(val) { var index = this.indexOf(val); if (index &gt; -1) { this.splice(index, 1); } }; var arr1=["1","2","3...
  • Javascript数组函数

    2018-05-01 09:34:55
    一、数组(Array)1.1我们之所以要用到数组可以放很多的数据,好比将很多的数据放入到盒子中,用到就可以取出来、二、创建数组的方式2.1 使用Array构造函数 &lt;script type="text/javascript"&gt...
  • js 数组扩充函数

    千次阅读 2018-05-29 17:18:20
    javascript提供了一套数组可用的方法。这些方法是被储存在Array.prototype中的函数。这是可以被扩充的。举例来说,假设我们想要给array增加一个方法,它允许我们对数组进行计算:Array.method('reduce',function(f, ...
  • 其实平时用的比较多的应该是 push pop不过还是都记下来以便后面使用 shift 删除原数组第一项并返回删除元素的值如果数组为空则返回 undefined 代码如下 : var a = [1,2,3,4,5]; var b = a.shift; //a [2,3,4,5] b...
  • js-数组和函数

    2020-09-04 21:04:18
    JavaScript基础第04天笔记 1 - 数组 1.1 数组的概念 ...JS 中创建数组有两种方式: 利用 new 创建数组 var 数组名 = new Array() ; var arr = new Array(); // 创建一个新的空数组 注.
  • JS数组去重函数

    万次阅读 2013-02-06 14:10:42
    缘由 JavaScript 数组去重经常出现在前端招聘的笔试题里,比如: 有数组 var arr = ['a', 'b', 'c', '1', 0, 'c', 1, '', 1, 0],请用 JavaScript 实现去重函数 unqiue,使得 uni
  • 主要介绍了JS实现求数组起始项到终止项之的方法,基于数组扩展函数实现该功能,涉及javascript针对数组的简单判断、遍历等相关操作技巧,需要的朋友可以参考下
  • JS数组操作函数汇总

    千次阅读 2019-02-18 18:20:25
    数组的遍历 for: 普通版:for(let i=0; i&lt;arr.length; i++) { } 优化版:for(let i=0,len=arr.length; i&lt;len; i++) { } 弱化版:for(let i=0; arr[i] != null; i++) { } forEach: arr.forEach...
  • js数组的定义不需要指明数组的类型,直接var a=[];可以定义一个数组名为a的空数组,还可var a=[1,"qwe","李"];直接在定义的时候向里面添加数组数组长度 数组长度不受定义时候的限制,可任意改变。比如空数组刚...
  • js代码-数组flat函数实现
  • 本文给大家分享一个用于数组或者对象的排序的函数。该函数可以以任意深度的数组或者对象的值作为排序基数对数组或的元素进行排序
  • js的随机数函数和数组乱序函数

    千次阅读 2012-10-16 16:23:53
    来自网上的源码改编 随机数函数 function rand(num){  return parseInt(Math.random()*num+1); ...数组乱序函数 function shuffle (inputArr) {  var valArr = [],k = '';  for (k
  • 左边为原数组,右边为array.reverse()的结果: 函数很简单,但是 var temp = ChartConfig.getMonthData(); $scope.monthList = temp.reverse(); console.log('ChartConfig.getMonthData() ...
  • JS常用的数组操作函数 splice(),shift(),unshift(),map(),reduce(),sort(),filter(),push(),pop(),reverse()等数组常见函数的使用。
  • 主要介绍了一些JavaScript常用字符串与数组扩展函数,整理了一些简单而使用率又高的操作String与Array的函数,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 425,987
精华内容 170,394
关键字:

js数组纯函数和