美文网首页
数组常用方法

数组常用方法

作者: 码砖块 | 来源:发表于2017-10-30 22:47 被阅读0次

1、创建一个数组

方法一:创建一个长度为零的数组

 var arr = new Array();

方法二:创建一个长度为5的数组

var arr = new Array(5);

alert(arr.length);         -----------得到5

方法三:创建一个指定内容的数组

var arr = new Array(“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”);

方法四:简单写法

var arr = [“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”];

方法五:创建空的数组

var arr = [];

2、访问数组

数组的名称加下标(下标从0开始)

例:var arr = (1,2,3,4,5,6,);

alert(arr[2]);--------------------->得到3

3、设置数组的值

例:arr[4] =“牛”;---------->把数组中第四个值换成 牛

4、添加内容

例:arr[4] =“花”;

arr[5] =“好”;

alert(arr);----------------->会将数组第5、6个的值写成”花”,”好”

注:javascript是一种若类型的编程语言,可以动态的改变数组的长度

5、数组的遍历

5.1、for循环遍历(把内容一个个输出)

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

document.write(arr[i]);

}

5.2、for in循环遍历

var arr=[];

arr[1000] =“牛”;

for(var  k  in  arr){

console.log(arr[k]);

}

注:在特长数组的遍历中,for in循环比for循环运算的快,不易死机

5.3、for Each循环遍历(扩展ES6新语法)

arr.forEach(

function(elem,index,list){

console.log(elem,index,list);

}

)

注:elem循环的内容、index下标、list数值

6、数组的方法

6.1、后删除pop()

例:var arr = [“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”];

arr.pop();

alert(arr);----------------->得到:张三,李四,王五,马六,冯七,赵八

6.2、前删除shift()

例:var arr = [“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”];

arr.shift();

alert(arr);----------------->得到:李四,王五,马六,冯七,赵八,魏九

6.3、后添加push(“”)

例:var arr = [“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”];

arr.shift(“嘎嘎”);

alert(arr);----------------->得到:李四,王五,马六,冯七,赵八,魏九,嘎嘎

6.4、前添加unshift(“”)

例:var arr = [“张三”,”李四”,”王五”,”马六”,”冯七”,”赵八”,”魏九”];

arr.unshift(“嘎嘎”);

alert(arr);------------------>得到:嘎嘎,李四,王五,马六,冯七,赵八,魏九

6.5、从中间添加、删除splice()

例:var arr = [1,2,3,4,5,6,7];

arr.splice(0,0,6,6);

alert(arr);-------------------->得到:6,6,1,2,3,4,5,6,7

解析:arr.splice(从第几个,删除几个,添加1,添加2,·······)

6.6、切一段slice()

例:var arr = ["a","b","c","d","e","f"];

var b=arr.slice(1,2);

alert(b);-------------------->得到:b

解析:slice(从第几个,切到第几个)切到第几个时不含最后一个

6.7、连一块concat()

例:var arr = ["张三","李四","王五","马六","冯七"];

var arr2 = [1,3,5,7,9];

var arr3;

arr3 = arr.concat(arr2);

alert(arr3);---------------得到:张三,李四,王五,马六,冯七,1,3,5,7,9

6.8、前后反转reverse()

例:var arr = [1,2,3,4,5,6,7];

arr.reverse();

alert(arr);-------------------->得到:7,6,5,4,3,2,1

7、数组的排序

例:var arr = [1,2,3,4,5,6,7];

arr.sort(function(a,b){

if(a>b){return -1;}

else{return 1;}

})

alert(arr);------------------>得到7,6,5,4,3,2,1

或:var arr = [1,25,13,4,55,26,47,58];

arr.sort();

alert(arr);------------------>得到:1,13,25,26,4,47,55,58

8、数组最大值

【方法1】

var arr = [10,52,2,3,96,87,25,45]

var max = arr[0];

for(var k in arr){

if(arr[k]>max){

max = arr[k];

}

}

alert(max);----------------------->得到:96

【方法2】

用math,min冒充方法(call和apply用法和区别查资料)

max = Math.max.apply(null,arr);

alert(“最大的数是”+max);

注:求min方式同上。

9、数组的去重

分析:1.新建一个新的数组(数组为空)

2.遍历arr,若新数组里有当前数,则不记录。若新数组里无当前数,则该数加

入新数组

3.循环完成的新数组就是我们去重的数组

例1:var arr = [1,1,25,25,23,36,23];

var arr2 = [];

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

if(arr2.indexOf(arr[i]) == -1){

arr2.push(arr[i]);

}

}

alert(arr2);或document.write(arr2);

例2(ES5):

let arr = [1,1,22,2,55,3,1,2,4];

let result = arr.filter(function(item,index,self){

return self.indexOf(item)===index;

//如果查找出来的下标 不是 当前下标 代表是重复的

})

console.log(result);

相关文章

网友评论

      本文标题:数组常用方法

      本文链接:https://www.haomeiwen.com/subject/uffvpxtx.html