js数组

Posted shizhihong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js数组相关的知识,希望对你有一定的参考价值。

数组:可以保存一组数据

一、创建数组:

1、方式一:构造函数创建

//使用new关键字创建数组

var arr = new Array( );

//console.log(arr);  -> [ ]

var arr = new Array(1,2,‘3‘,true);

//console.log(arr); -> [1,2,‘3‘,true]

//如果只有一个参数,且参数类型为数字,则表示数组长度

var arr = new Array(3);  //表示创建一个元素数量为3的数组

console.log(arr); //[, ,]

console.log(arr[0]); //undefined

2、方式二:字面量方式创建(一般用这种方式创建)

var arr = [ ];

//console.log(arr); // [ ]

//console.log(typeof arr); //object

var arr = [ 2, 3, true, ‘hello‘];

console.log(arr); //[2, 3, true, ‘hello‘];

 

二、数组的下标

1、利用数组的下标可以获取和修改数组中的元素

var arr = [ 3, 4 ];

console.log( arr[0] ); //3 第一个元素,下标是0

console.log( arr[1] ); //4

console.log( arr[2] ); //undefined  -> 下标越界

//数组越界: 超出数组的下标范围

//数组的最后一个元素:  arr( arr.length-1] );

数组的属性: length  表示数组的长度,数组的元素个数,(可读可写);

var arr = [1,2,3]; ->  arr.length = 3;

//给数组末尾加一个元素: arr[ arr.length ] = 5;

2、数组的遍历:

var arr = [ 1,3,4,5,6 ];

for(var i=0; i<arr.length; i++){

  console.log( arr[i] );

}

// for-in 循环 :可以遍历数组和对象,多用来遍历对象;

var arr = [1,2,3,5,6];

for (var i in arr){

  //默认从头遍历到尾

  console.log( arr[ i ] ); 

}

var obj = { name:‘张三‘, age:22}

for((val, key) in obj){

  console.log(val,key);

}

三、数组的方法:

var arr = [1, 3, 4];

1、push( );  给数组末尾添加元素  arr.push(6); (返回值是新的数组长度,一般不用)

2、pop( ); 删除数组的最后一个元素 arr.pop( ); (返回值是删除的元素,一般不用)

【栈方法: push( ) 和 pop( ) ,栈是一种数据结构(后进先出);】

3、shift( ); 在数组开头删除元素 arr.shift( );(返回值为删除的元素,一般不用)

4、unshift( ); 在数组开头添加元素 arr.unshift( );

【队列方法:push( );  shift( );】

5、reverse( ) :倒序(翻转), 会改变原素组

6、sort( ): 升序排序

  //给sort()传递一个函数参数(不是调用函数参数),为sort定制排序规则

  function fn(a, b){

    // a是数组前面的数,b是数组后面的数,如果前面的数大于后面的数,返回是否交换(返回正数表示交换)

    //if( a<b) { return 1;} //表示降序

    if( a > b) { return 1; } //表示升序

  }

  var arr = [11, 2, 3, 1, 20];

  arr.sort( fn );

  console.log( arr ) //[ 1,2,3,11,20 ]

7、concat( ): 拼接元素,不会改变元素组,会返回新数组

 

以上是关于js数组的主要内容,如果未能解决你的问题,请参考以下文章

js数组相加

js 数组反转, 不改变原来的数组

js递归(二)——合并多维数组

js数组empty

js 如何动态添加数组

js如何创建一个数组并给数组设置指定宽度