• Js中数组的各种操作(转)


    由于js是个脚本语言,所以即使是能完成很多东西,但终究要比像java 和c++ 在数据类型的封装上丑陋。

    不久前,写文件用到js数组操作,对于新建数组,添加元素都没问题。可就是在要作过滤的时候,循环出来的数组是乱序的。

    为了达到过滤的作用,在此过程中需要使用到

    splice

    从数组对象中移除指定长度的元素,并替换为新的元素(相当于执行替换操作)。如果没有指定新的元素,则相当于执行删除操作。返回被删除元素组成的数组。

    var arr1 = arr.splice(1,2,"d","e");//arr1 = ["b","c"]alert(arr);//["a","d","e"]var arr2 = arr.splice(1,2);//arr2 = ["d","e"]alert(arr);//arr = ["a"]

    不过这个的效果不好,有个方法,就是重新对遍历最后生成新数组,替代旧的同样可以达到删除的目的。

    一下是js数组操作相关函数 :

    concat

    将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响。

    var arr = ["a","b","c"];var arr1 = arr.concat("d","e");//arr1 = ["a","b","c","d","e"]

    join

    以指定的字符作为分割符,将数组转换为字符串,当指定字符为逗号时,其作用和 toString() 相同。

    var str1 = arr.join(",");//str1 = "a,b,c"

    pop

    通俗的讲,就是弹出数组的最后一个元素。结合下面的 push 方法,使得将数组作为栈来使用成为可能。pop 方法返回数组最后一个元素的值,并将 length 属性减 1,即返回后立即丢失最后一个元素。

    var item1 = arr.pop();//item1 = "c"

    push

    将参数添加到数组的结尾。

    arr.push("d","e");alert(arr);//arr = ["a","b","c","d","e"]

    reverse

    将数组中的元素反转排列,这个操作是在原有数组上经行操作,同时也返回数组本身。

    arr.reverse();alert(arr);//arr = ["c"."b","a"]

    shift

    移去数组的第一个元素,并返回这个元素的值。这个方法的性质和 pop 方法很类似,pop 方法是移去最后一个元素。

    var item1 = arr.shift();//item1 = "a"

    unshift

    将参数列表插入到数组的开头。其性质和 push 方法类型,但 push 方法是将元素添加到数组的结尾。

    arr.unshift("d","e");alert(arr);//arr = ["d","e","a","b","c"]

    slice

    返回数组对象的一个子集,索引从开始(包括开始位置元素),到结束(不包括结束位置元素),原有数组不受影响。当 开始或者结束为负数时,则使用他们加上数组长度后的值。如果结束小于等于开始,将返回空数组。

    var item1 = arr.slice(1,2);//item1 = "b"var item2 = arr.slice(-2,-1);//item2 = "b"

    splice

    从数组对象中移除指定长度的元素,并替换为新的元素(相当于执行替换操作)。如果没有指定新的元素,则相当于执行删除操作。返回被删除元素组成的数组。

    var arr1 = arr.splice(1,2,"d","e");//arr1 = ["b","c"]alert(arr);//["a","d","e"]var arr2 = arr.splice(1,2);//arr2 = ["d","e"]alert(arr);//arr = ["a"]

  • 相关阅读:
    CefSharp-基于C#的客户端开发框架技术栈开发全记录
    C#中HttpWebRequest、WebClient、HttpClient的使用详解
    蜘蛛侠网站-关注C#爬虫技术
    网络剪刀-NetCut
    JSON.stringify 格式化输出字符串
    Vue 3.0 provide 传值到子组件
    全局添加可执行的node脚本
    npm link
    低代码平台思路
    java jwt使用,springboot 整合java-jwt,java jwt工具类
  • 原文地址:https://www.cnblogs.com/skybreak/p/3050078.html
Copyright © 2020-2023  润新知