码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript数组的基本操作

时间:2020-03-30 20:01:46      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:多个   接收   指定位置   创建   nts   pop   类型   val   位置   

数组的创建方式:

方式一:构造函数构建数组

 

var arr = new Array ( ); 如果传入的参数为一个数字,代表数组的长度,不包含内容

// 可以传入字符串和数字,用逗号隔开,作为数组中的内容。

 

方法二:字面量方法创建数组 (一般采用该方法)

 

var arr = [  ]; // 可以直接写入内容。用逗号隔开

 


 数组的基本操作方法:

目录:

  • push
  • pop
  • unshift
  • shiift
  • concat
  • join
  • splice
  • slice
  • indexOf
  • lastIndexOf

 

push()方法

var len = arr.push( )

在数组尾部添加一个或多个新元素,并且返回数组的新长度。

 

原生JS重构 push方法

 

技术图片
 1  function push(arr) {
 2 
 3             for (i = 1; i < arguments.length; i++) {
 4 
 5                 arr[arr.length] = arguments[i]; //数组的尾部添加传入进来的参数
 6 
 7             }
 8 
 9             return arr.length; //返回数组的长度
10 
11         }
12 
13         var num = push(arr, 7, 8, 9)
14 
15         console.log(arr, i)
技术图片

 

 pop()方法

 

var itme = arr.pop( )

 

删除数组尾部的一个或者多个元素,并且返回被删除的这个元素

 

原生JS重构 pop方法

技术图片
 1   function pop(arr) {
 2 
 3             var num = arr[arr.length - 1]; //保存数组最后一个元素
 4 
 5             arr.length--; //删除最后一个元素
 6 
 7             return num //返回删除的元素
 8 
 9         }
10 
11         pop(arr)
技术图片

 

 unshuift( ) 方法

 //将一个或者多个新元素添加在数组的最前面,返回数组的新长度

 

var len = arr.unshift( )

 

原生JS重构 unshift方法

     

技术图片
 1   function unshift(arr) {
 2 
 3             var len = arguments.length - 1;  //定义需要添加元素的长度,
 4 
 5             for (var i = arr.length - 1; i >= 0; i--) { //使数组整体向后移动len个单位
 6 
 7                 arr[i + len] = arr[i];
 8 
 9                 // console.log(arr)
10 
11             }
12 
13             for (var j = 1; j < arguments.length; j++) { // 把传入的参数按顺序放入数组的前头
14 
15                 arr[j - 1] = arguments[j]
16 
17                 console.log(arr)
18 
19             }
20 
21                 return arr.length //返回新数组的长度
22 
23         }
24 
25         unshift(arr, 9, 8, 7)
26 
27  
技术图片

 

 shift( )  方法

// 删除数组的第一个元素,并且返回该元素。

 

var itme =arr.shift( )

 

原生JS重构 shift方法:

 

技术图片
 1   function shift(arr) {
 2 
 3             var itme = arr[0];  //获取第一个元素
 4 
 5             // console.log(itme)
 6 
 7             for (i = 0; i < arr.length; i++) {  //把数组整体向前移动一个长度
 8 
 9                 arr[i] = arr[i + 1]
10 
11                 console.log(arr)
12 
13             }
14 
15             return itme //返回数组的第一个元素
16 
17         }
18 
19         console.log(shift(arr))
技术图片

 

 concat ()方法

 

var arr1 = arr.concat ( 10,11,12)

var arr2 =arr.concat ( arr1 ) 

 

//给原数组添加新元素或连接多个数组,复制给一个新数组

 

原生JS重构 concat方法:

 

技术图片
 1 function concat(arr) {
 2 
 3             var array = []; //定义一个空数组 用来复制新数组
 4 
 5             var num = 0; //新数组的下标
 6 
 7             for (var i = 0; i < arr.length; i++, num++) { //把第一个数组复制到新数组中
 8 
 9                 array[num] = arr[i]
10 
11             }
12 
13             for (var j = 1; j < arguments.length; j++, num++) {  //把参数复制到新数组中
14 
15                 if (arguments[j].constructor === Array) {  //判断参数是否是数组类型
16 
17                     for (var m = 0; m < arguments[j].length; m++, num++) {  //遍历参数数组,添加到新数组中
18 
19                         array[num] = arguments[j][m]
20 
21                     }
22 
23                     num--  // 由于上面两次循环 新数组下标添加了2次, 所以在这减少一次
24 
25                 } else {  //参数不是数组类型,把参数添加到新数组中
26 
27                     array[num] = arguments[j]
28 
29                 }
30 
31             }
32 
33             return array  //返回新数组
34 
35         }
技术图片

 

 join ()方法

 

var str = arr.join( )

 

join() 方法用于把数组中的所有元素放入一个字符串。

元素是通过指定的分隔符进行分隔的。若没有填入参数,默认用逗号隔开

 


 

 splice ()方法

 

arr.splice (从什么位置开始,删除多少个元素,添加的元素…… ) 

//给数组中添加,删除,替换一个或者多个元素,返回被删除元素组成的数组

 

var arr1 =arr.splice( ) //创建一个空数组arr1 

var arr1 =arr.splice( 0 ) 删除arr所有元素 ,将所有元素传递给arr1、

var arr1 =arr.splice( -1)传入的参数是负数的时候,表示倒数第几位开始。

var arr1 =arr.splice( 2,0,12,14)表示从第二位开始,不删除元素,插入12和14 

//(正数是向后插入元素, 负数是向前插入元素)

 


 

slice()方法

功能:截取指定位置的数组,并且返回截取的数组,不会改变原数组

     参数:slice(startIndex, endIndex)

     注意:可从已有的数组中返回选定的元素。该方法接收两个参数slice(start,end),省略表示到最后一位;

            start和end都可以为负数,负数时表示从最后一位开始算起,如-1表示最后一位。

 


 

IndexOf()方法

 

 功能:根据指定的数据,从前往后,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

    参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

     注意:如果找到该数据,立即返回该数据的索引,不再往后继续查找

 


 

 lastIndexOf( )方法

 

 功能:根据指定的数据,从后往前,查询在数组中出现的位置,如果不存在指定的数据,返回-1,找到了指定的数据返回该数据的索引

    参数:indexOf(value, start);value为要查询的数据;start为可选,表示开始查询的位置,当start为负数时,从数组的尾部向前数;如果查询不到value的存在,则方法返回-1

JavaScript数组的基本操作

标签:多个   接收   指定位置   创建   nts   pop   类型   val   位置   

原文地址:https://www.cnblogs.com/xmjt/p/12600394.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!