JavaScript一维数组的增删、遍历

数组 数组的创建

  • 创建数组有两种方法,一是使用数组字面量,简单来说就是在[]之中列出数组的所有元素;
  • 各元素之间用,隔开,JavaScript中的数组的元素可以是不同的数据类型;
var numberArray = [1,2,3,4,5]; //数字数组 var stringArray = ["hello","world","java","script"]; //字符串数组 var mixArray = [1,2,"java",true,6.6]; //混合数组

  • 创建数组的第二种方法是新建一个Array对象的实例(对象),这种情况下可以设置数组的长度(即数组中元素的个数),也可以不设置;
var myArray = new Array(); //创建一个初始为空的数组 var lengthMixArray = new Array(6); //创建一个长为6的数组

  • 数组元素的读取时,用赋值符号连接两个表达式,变量在左边,数组元素在右边;
  • 数组元素写入时,数组元素在左边,待写值在右边;
var readArray = [1,3,"js",true,2.22]; var read = readArray[0]; //读取第一个元素到变量read中 var writeArray = [1,3,"js",true,2.22]; writeArray[0] = 2; //在第一个元素的位置写入2 console.log(writeArray[0]); //原来的1已经被覆盖,输出2

数组的长度
  • 数组长度指元素中的个数,等于最大索引加1,数组的length属性即数字的长度,格式:数组名.length;
  • 数组的长度也可以写入,当写入的值小于数组的实际长度时,数组会被删除一部分。大于实际长度时,数组会在尾部添加一些空的区域;
var arrayLength = [1,"js",true,"false"]; console.log(arrayLength.length); //控制台输出4 arrayLength.length = 2; console.log(arrayLength); //输出[1,"js"] arrayLength.length = 6; console.log(arrayLength); //输出[1,"js", , , ,]

【JavaScript一维数组的增删、遍历】数组元素的增减
  • 数组元素的增删是JavaScript的一个特点,因为其他很多编程语言的数组是不允许增加或者删除元素的;
  • 在JavaScript中,为数组增加元素可以在数组头部(索引最小处)或者尾部进行,可以使用数组的方法或者直接使用赋值运算符;
  • 在尾部添加元素:
    1)直接给当前尾部元素的后一个位置赋值;
    2)第二种方法是使用push()函数,往数组的末尾添加一个或多个元素,参数是要添加的元素,返回数组长度;
var numberArray = [12,23,34,45]; numberArray[numberArray.length] = 56; //最后一个位置赋值56 console.log(numberArray); //输出[12,23,34,45,56] //利用push()方法在数组尾部添加元素 var newLength = numberArray.push(78,90,100); console.log(newLength); //输出8 console.log(numberArray); //输出[12,23,34,45,56,78,90,100]

  • 在头部添加元素:unshift()方法在数组的头部添加元素,参数是要添加的元素。并返回数组新的长度,其余元素自动向索引大的方向移动;
var strArray = ["ja","va","script"]; //在头部添加元素 var newLength = strArray.unshift("he","llo"); console.log(newLength)//输出5 console.log(strArray[3]); //输出va console.log(strArray); //输出["he","llo","ja","va","script"];

  • 数组元素的删除
  • 删除也能在数组头部(索引值小)或者尾部进行;
  • 在尾部删除元素:
    1)直接将数组的长度修改为更小值,后面的元素自动被删除;
    2)第二种方法是使用delete运算符。delete运算符后接要删除的元素,但是删除后,会有一个空占位符,所以数据的长度保持不变;
    3)第三种方法是使用pop()方法,一次删除一个(即最后一个),并返回被删除的元素;
//直接修改数组长度删除元素 var mixArray = [1,2,true,"hello","你好","3"]; //长度为6 mixArray.length = 4; //最后两个元素被删除 console.log(mixArray); //输出[1,2,true,"hello"] //使用delete运算符 delete mixArray[3]; //次数只能删除最大索引值元素,因为是在尾部删除 console.log(mixArray); //输出[1,2,true, ]有一个空占位符 console.log(mixArray.length); //长度为4 //使用pop()方法 var deleteNumber = mixArray.pop(); console.log(deleteNumber); //返回undefined(因为数组的最后一个元素为空占位符) console.log(mixArray); //输出[1,2,true]

  • 在头部删除元素:
  • unshift()在头部添加元素,shift()作用是删除头部一个元素并返回该元素,然后所有元素往索引值小的方向移动一位(shift单词的意思是:删除、去掉);
//shift()在头部删除一个元素并返回该元素 var dArray = [11,22,33,44,55]; console.log(dArray.shift()); //输出11,11被从数组中删除 console.log(dArray); //输出[22,33,44,55]

数组的遍历
  • 数组的遍历指按顺序访问数组的每一个元素;
    1)使用for循环
    2)使用forEach()方法,forEach()方法的参数是一个无名字的函数,函数有三个参数,第一个参数是当前的数组元素,第二个参数是当前的索引,第三个参数是数组对象的索引。与for循环的区别是无法用break中断循环;
//使用for循环 //依次在浏览器的控制台输出one,two,three,four var stringArray = ["one","two","three","four"]; for(var i=0; i<=stringArray.length-1; i++) { console.log(stringArray[i]); } //使用forEach()方法 var numArr = [10,11,12,13,14]; numArr.forEach(function(mem,i,arr) { mem *= 10; arr[i] = mem; }); console.log(numArr); //输出[100,110,120,130,140]

    推荐阅读