澳门赌场

js数组操纵大全(带实例),含隐性界说、三种增加和删除元素的方式、排序、数组转字符、数组归并和多维数组

亮术网 2019-01-04 本网首创

Javascript 数组的操纵包含界说、增加、删除、读取、点窜、复制、排序、截取与归并、把数组一切元素转为字符串等。界说数组有两种方式,一种为新建一个数组,另一种为隐性界说,即按照所赋的值肯定。增加和删除元素有三种方式,别离为 push()、unshift()、splice()、pop()、shift()、splice()。

界说 Javascript 数组后,能够给它肆意增加属性,也能够对数组元素排序;排序分为升序和降序,别离用 sort() 和 reverse() 方式。两个数组能够归并为一个,一个数组和一串字符也能够归并为一个数组,用 concat() 方式完成;别的,能够用 slice() 方式提取指定数目的数组元素。数组能够转为字符串,别离用 join()、toString() 和 toLocaleString() 方式完成。

Js 多维数组有两种界说方式,一种为 new Array(new Array(), new Array(), ...),另一种为 [[,, ...],[,, ...], ...]。

 

1、数组的界说:

//界说一个数组

var arrObj = new Array();

//定一个指定长度的数组

var arrObj = new Array([size]);

//界说一个数组并赋值

var arrObj = new Array([element0[, element1[, ...[, elementN]]]]);

 

举例:

var arrObj1 = new Array();//定一个空数组

var arrObj2 = new Array(10);//定一个 10 个元素的数组

var arrObj3 = new Array(1,2,3,4,5);//定一个数组并初始化 5 个元素

var arrObj3 = [1,2,3,4,5] //隐性申明

 

2、增加数组元素:

//把一个或多个新元素增加到数组开端,并前往数组新长度

arryObj.push([item1 [item2 [. . . [itemN ]]]]);

//把一个或多个新元素增加到数组前面,数组中的元素主动后移,前往数组新长度

arrObj.unshift([item1 [item2 [. . . [itemN ]]]]);

//从 start 地位起头删除由 deleteCount 指定个数的元素,而后从该地位起拔出 item1,item2,...,itemN,并前往删除的元素。

arrObj.splice(start,deleteCount,[item1[, item2[, . . . [,itemN]]]]);

 

举例:

var a = new Array(1,2,3,4,5);

a.push(6);//成果:a:(1,2,3,4,5,6)

a.unshift(6); //成果:a:(6,1,2,3,4,5)

 

a.splice(2,0,6); //成果:a:(1,2,6,3,4,5)

var b = a.splice(2,2,6); //成果:a:(1,2,6,5);b:(3,4)

 

a[1000000] = 10; //把 10 赋给索引为 1000000 的元素,申明 Javascript 能够把值赋给远远超越数组长度的索引。

 

3、删除数组元素:

arrObj.pop(); //移除最初一个元素并前往该元素值,若是数组为空则前往 undefined

arrObj.shift(); //移除最前一个元素并前往该元素值,残剩元素主动前移

arrObj.splice(start,deleteCount); //删除从指定地位(start)起头的指定数目(deleteCount)的元素,最初以数组情势前往一切被移除的元素

 

举例:

var a = new Array(1,2,3,4,5);

var b = a.pop();//成果:a:(1,2,3,4);b:5

var c = a.shift(); //成果:a:(2,3,4,5);c:1

var d = a.splice(2,1); //成果:a:(1,2,4,5);d:3

 

4、读取和点窜数组元素:

var a = new Array(1,2,3,4,5);

var b = a[1];//读取数组第一个元素,成果:b:2

var c = a[1] = 6; //点窜数组第一个元素,成果:a:(1,6,3,4,5);c:6

 

5、给数组增加属性:

var arrPerson = new Array();

arrPerson.name = "李亦月";//增加一个“姓名”属性

arrPerson.age = 22;//增加一个“春秋”属性

 

6、数组元素的排序:

arrObj.sort(); //对数组元素排序,前往数组地点

arrObj.reverse(); //把元素按倒序摆列,前往数组地点

 

举例:

var b = [6,7,8,5,3,2,1];

b.sort(); //排序数字数组,成果:1,2,3,5,6,7,8

 

var arr = ["d", "f", "c", "a", "g"];

b.sort(); //排序工具(字符)数组, 成果:a,c,d,f,g

 

var a = new Array(1,2,3,4,5);

a.reverse();////逆向排序数字数组,成果:5,4,3,2,1

 

var arr = new Array("d", "f", "c", "a", "g");

arr.reverse();//逆向排序工具(字符)数组,成果:arr: g,a,c,f,d,成果不准确

 

7、数组的截取与归并:

arrObj.slice(start, [end]); //以数组的情势前往从 start 到 end 的一切元素,但不包含 end 对应的元素;若是省略 end,则前往 start 以后的一切元素

arrObj.concat([item1[, item2[, . . . [,itemN]]]]); //把多个数组(或字符串,数组和字符串的夹杂)归并为一个数组,前往归并后的新数组

 

举例:

var a = new Array(1,2,3,4,5,6);

var b = a.slice(2,4);//成果:b:(3,4);

var b = [8, 9, 10];

var c = a.concat(b);//成果:c:(1,2,3,4,5,6,8,9,10);

var d = a.concat("abc");//d:(1,2,3,4,5,6,abc);

 

8、数组转字符:

arrObj.join(separator); //前往把数组元素转为字符后的字符串,中间用 separator 离隔。

arrObj.toString();//把数组转为一个字符串,并前往该字符串

arrObj.toLocaleString(); //把数组转换为本地字符串。与 toString() 类似, 在 FireFox 完整不异;在 ie 下,若是是数字,则会在前面补上两位小数;若是是字符串,则会在“,”后加上一个空格。

 

举例:

var a = new Array(1,2,3,4,5,6);

var b = a.join("");//成果:b:123456;

var c = a.join("-");//成果:c:1-2-3-4-5-6;

 

var d = a.toString();//成果:d:1,2,3,4,5,6;

var e = a.toLocaleString();//成果:e:1.00,2.00,3.00,4.00,5.00,6.00;Chrome 或火狐 1,2,3,4,5;

 

var arr = new Array(); arr[0] = "abc"; arr[1] = "def"; arr[2] = "gh";

var r = arr.toLocaleString();//成果:r:abc, def, gh;

 

 

9、多维数组:

(1)方式一

var matrix = [
     [1, 2, 3, 4],
     [5, 6, 7, 8],
     [9, 10, 11,12]
    ];

matrix1[2][2] //前往 11

 

(2)方式二

var matrix = new Array(
      new Array(1, 2, 3, 4),
      new Array(5, 6, 7, 8),
      new Array("a", "b", "c", "d")
    );

matrix1[2][2] //前往 c