js数组

来源:互联网 发布:大智慧ts诊断主图源码 编辑:程序博客网 时间:2024/06/05 22:49

1.数组是值的有序集合,js中数组是弱类型的,数组中可以有不同类型的元素,可以有数字,字符串,boolean,对象或者其他数组

var arr = [1,true,null,undefined,{x:1},[1,2,3]]

arr[4].x     arr[5][1]

2.创建数组方式有两种:中括号[] var arr = [{name:yangrui},[1,2]]

   var arr = new Array();   

   var arr = new Array(100) 有一百个元素的数组

   var arr = new Array(true,false,null,1,"hi") 有一百个元素的数组

3.操作数组读写

   arr[5]=6; arr.length变为6 动态添加数组中的值

   delete arr[2];

   arr.length-=1;

4.数组迭代

    var i=0,n=10;

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

    for(;i<n;i++){console.log(arr[i])}

    for(i in  arr){console.log(arr[i])}

    arr.hasOwnProperty 过滤掉原型链上的属性

5.稀疏数组 数组个数比数组中的值多 数组中有空值

6.将数组转换成字符串

var arr=[1,2,3]

arr.join("-");//1-2-3


function repeatString(str,n){

return new Array(n+1).join(str);

}

repeatString("a",3);//aaa

7.将数组逆序 arr.reverse(); 原来数组被修改

8.数据排序  arr.sort(); 排序数字的话 按开头数字排序

function sortNumber(a,b){return a - b}var arr = new Array(6)arr[0] = "10"arr[1] = "5"arr[2] = "40"arr[3] = "25"arr[4] = "1000"arr[5] = "1"document.write(arr + "<br />")document.write(arr.sort(sortNumber))


9.concat()合并数组,但是合并之后原数组不会改变

var arr=[1,2,3];

arr.concat(4,5); //[1,2,3,4,5]

arr.concat([10,11],13) //[1,2,3,10,11,13]

arr.concat([1,[2,3]]) //[1,2,3,1,[2,3]]

concat只会拉平一次数组


10.slice()返回数组片段(前包括后不包括)  原数组会被修改

var arr=[1,2,3,4,5]

arr.splice(1,3);//[2,3]

arr.splice(1,-1);//[2,3,4]

arr.splice(2);//[3,4,5]

arr.splice(2,2);//[3,4]   从第三个开始截取两个元素

arr.splice(1,1,'a','b');//[1,"a","b",3,4,5]


11. arr.forEach  对数组进行遍历

12.   arr.map(function(x){})

13.   arr.filter 对数组进行过滤

14.   arr.every返回 true 和false  所有元素必须符合

15.   arr.some 返回 true 和false   至少一个元素符合

16.   reduce()

17.   indexOf()数组检索 查找元素索引

18. Array.isArray([]);判断是不是数组

[] instanceof Array


0 0
原创粉丝点击