zoukankan      html  css  js  c++  java
  • js array filter pop push shift unshift方法

    JavaScript Array filter() 方法

    Array 对象参考手册 JavaScript Array 对象

    实例

    返回数组 ages 中所有元素都大于 18 的元素:

    var ages = [32, 33, 16, 40];

    function checkAdult(age) {
        return age >= 18;
    }

    function myFunction() {
        document.getElementById("demo").innerHTML = ages.filter(checkAdult);
    }

    输出结果为:

    32,33,40

    尝试一下 »

    定义和用法

    filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

    注意: filter() 不会对空数组进行检测。

    注意: filter() 不会改变原始数组。


    浏览器支持

    表格中的数字表示支持该方法的第一个浏览器的版本号。

    方法     
    filter() Yes 9 1.5 Yes Yes

    语法

    array.filter(function(currentValue,index,arr), thisValue)

    参数说明

    参数描述
    function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数
    函数参数:
    参数描述
    currentValue 必须。当前元素的值
    index 可选。当期元素的索引值
    arr 可选。当期元素属于的数组对象
    thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
    如果省略了 thisValue ,"this" 的值为 "undefined"

    技术细节

    返回值: 返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
    JavaScript 版本: 1.6

     

    JavaScript Array map() 方法

    Array 对象参考手册 JavaScript Array 对象

    实例

    返回一个数组,数组中元素为原始数组的平方根:

    var numbers = [4, 9, 16, 25];

    function myFunction() {
        x = document.getElementById("demo")
        x.innerHTML = numbers.map(Math.sqrt);
    }

    输出结果为:

    2,3,4,5

    尝试一下 »

    定义和用法

    map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

    map() 方法按照原始数组元素顺序依次处理元素。

    注意: map() 不会对空数组进行检测。

    注意: map() 不会改变原始数组。


    浏览器支持

    表格中的数字表示支持该方法的第一个浏览器的版本号。

    方法     
    map() Yes 9 1.5 Yes Yes

    语法

    array.map(function(currentValue,index,arr), thisValue)

    参数说明

    参数描述
    function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数
    函数参数:
    参数描述
    currentValue 必须。当前元素的值
    index 可选。当期元素的索引值
    arr 可选。当期元素属于的数组对象
    thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
    如果省略了 thisValue ,"this" 的值为 "undefined"

    技术细节

    返回值: 返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
    JavaScript 版本: 1.6

    JavaScript Array some() 方法

    Array 对象参考手册 JavaScript Array 对象

    实例

    检测数组中是否有元素大于 18:

    var ages = [3, 10, 18, 20];

    function checkAdult(age) {
        return age >= 18;
    }

    function myFunction() {
        document.getElementById("demo").innerHTML = ages.some(checkAdult);
    }

    输出结果为:

    true

    尝试一下 »

    定义和用法

    some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。

    some() 方法会依次执行数组的每个元素:

    • 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
    • 如果没有满足条件的元素,则返回false。

    注意: some() 不会对空数组进行检测。

    注意: some() 不会改变原始数组。


    浏览器支持

    表格中的数字表示支持该方法的第一个浏览器的版本号。

    方法     
    some() Yes 9 1.5 Yes Yes

    语法

    array.some(function(currentValue,index,arr),thisValue)

    参数说明

    参数描述
    function(currentValue, index,arr) 必须。函数,数组中的每个元素都会执行这个函数
    函数参数:
    参数描述
    currentValue 必须。当前元素的值
    index 可选。当期元素的索引值
    arr 可选。当期元素属于的数组对象
    thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
    如果省略了 thisValue ,"this" 的值为 "undefined"

    技术细节

    返回值: 布尔值。如果数组中有元素满足条件返回 true,否则返回 false。
    JavaScript 版本: 1.6

    在javascript脚本中,栈数据结构的访问规则是LIFO(后进先出),而队列数据结构的访问规则是FIFO(first-in-first-out,先进先出)。
    队列在列表的末端添加项,从列表的前端移除项。
    由于push()是向数组末端添加项的方法,一次要模拟队列只需一个从数组前端取得项的方法。
    实现此操作的数组方法就是shift(),它能够移除数组中的第一项并返回该项,同时将数组长度减1。
    结合使用shift()和push()方法,可以像使用队列一样使用数组:
     

    复制代码代码示例:
    var colors = new Array();                 //创建一个数组
    var count = colors.push("red", "green");  //推入两项
    alert(count);                             //2
    count = colors.push("black");             //推入另一项
    alert(count);                             //3
    var item = colors.shift();                //取得第一项
    alert(item);                              //"red"
    alert(colors.length);                     //2
     

    ECMAScript还为数组提供了一个unshift()方法。unshift()shift()的用途相反:它能在数组的前端添加任意各项并返回新数组的长度。
    因此,同时使用unshift()和pop()方法,可以从相反的方向来模拟队列,即在数组的前端添加项,从数组末端移除项,例如:
     

    复制代码代码示例:

    var colors = new Array();                    //创建一个数组
    var count = colors.unshift("red", "green");  //推入两项
    alert(count);                                //2

    count = colors.unshift("black");             //推入另一项
    alert(count);

    var item = colors.pop();                     //取得最后一项
    alert(item);                                 //"green"
    alert(colors.length);                        //2
     

    IE对JavaScript的实现存在一个偏差,其unshift()方法总是返回undefined而不是数组的新长度。

  • 相关阅读:
    NHibernate使用之详细图解
    iBatis for Net 代码生成器(CodeHelper)附下载地址(已经升级为V 1.1)
    设置devenv命令的启动版本
    NBear简介与使用图解
    jQuery 插件取url参数[jquery.url.js]的使用以及文件下载
    Ajax跨子域
    XML 通用操作
    NVelocity标签使用详解
    Visual Studio 2010 中JS注释制作
    windows自定义快速启动(运行)命令
  • 原文地址:https://www.cnblogs.com/yelongsan/p/6369140.html
Copyright © 2011-2022 走看看