js数组使用[  ]


        数组中可以存储任意类型的值,每一个值都称之为数组元素。


        数组中每个元素之间英文逗号隔开。


        数组中每一个元素都有一个位置,这个位置称之为下标/索引,索引从0开始。


        js中数组是变长的


        千万不要直接给数组名赋值,否则数组中的元素就会消失被所赋的值所替换。


创建方法:


 

var arr = [1,2,3];


        构建函数方式创建数组:


            

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


只传入一个参数时,默认的是数组长度,传入多个数值时并且逗号隔开,就是正常数组


length属性:返回数组长度。数组自带length属性,既可以获取又可以设置


        可以通过length来给数组设置长度。如果设置的数组长度比原来数组的长度要长,会使用空值(empty)填充数组填充的数据默认为undfeined类型


        如果设置的数组长度,小于原来的长度,会移除后面的元素。


        把数组1赋值给数组2,改变数组2的最大长度也会改变数组1的长度。


改变数组长度的方法:


        1.改变length的值


        2.修改索引,追加元素。加入索引没有被占用就会添加元素,索引被占用就会替换元素。


        arr.length--:删除数组末尾最后一项。


数组遍历:


        1.for循环遍历


  

2.for in循环for(var i  in score){ document.write(score[i]); }


        通过遍历将数组的每个元素赋值给数组2,这时两个数组不相等输出false。直接把数组1赋值给数组2,这时两个数组相等输出true。


数组方法:


    push();


                作用:将一个或多个元素添加到数组结尾,并返回新数组长度


                参数:可以传一个或多个参数


                是否改变原数组:改变


                返回值:有返回值,值是新数组的长度console.log(a.push(5));就会输出新数组的长度。


                   

var a = [1,2,3,4]; 
a.push(5,6);


    pop();


                作用:移除数组中最后一个元素,并返回该元素的值


                参数:无,可以传但是无效


                是否改变原数组:改变


                返回值:返回删除的那一项的值


            删除数组最后一项还可以让arr.length--;这样也是可以删除数组最后一项的


          

a.pop( );


    unshift(元素):


                作用:将新元素添加到数组的开始,其他元素后移,然后返回数组长度


                参数:可以传递一个或多个参数


                是否改变原数组:改变


                返回值:返回增加后的数组的长度。


    

a.unshift(22,22,33,44);


    shift()


                作用:移除数组中最开始的值,数组中其他元素自动迁移, 并返回该元素的值


                参数:


                是否改变原数组:改变


                返回值:返回删除的哪一项。


    

a.shift( );


splice:可以实现数组的增加删除修改


    splice(开始位置,删除长度)


                作用:从当前索引开始删除n项。


                参数:开始索引,删除个数


                是否改变原数组:改变


                返回值:把删除的每一项以一个新的数组返回,没有删除返回空数组,删除的东西包括设置的开始索引对应的数据


                splice(开始的位置索引,删除的长度)


    splice(当前索引,删除长度,替换的值)


                作用:删除以后添加元素替换


                参数:索引,长度,替换值


                是否改变数组:改变


                返回值:把删除的每一项以一个新的数组返回


                    splice(当前索引,删除长度,替换的值)


    splice(当前索引,0,替换值)


                作用:如果删除长度为0,则代表方法不删除元素,并在设置的位置之前插入内容


                参数:开始索引,0,内容


                是否改变原数组:改变


                返回值:空数组


                    splice(开始索引,0,替换值)


    concat()


                作用:链接两个数组,返回新数组,


                不会改变原来的数组。


                    var c = a.concat(b);


        indexOf(数组中的某个数据)


数组元素字符串化:


       join(“分隔符”)


                作用:用分隔符,组合数组元素形成字符串。省略分隔符的话则默认用逗号隔开。


                原数组不改变


                var b = a.join("/");


    reverse();  


                作用:翻转元素(最前的排到最后,最后的排到最前),返回数组地址,但是是以数组的形式输出的。


                会改变原数组 


                a.reverse();


                sort();


如果数组的方法在调用后 并没有返回新数组,证明该方法更改了原数组


    slice(开始索引,结束索引)


                作用:数组的截取,从开始的索引截取到结束的索引(不包含结束索引)


                 返回值:将截取的每一个项以一个新的数组返回,没有截取到返回空数组


                不改变原数组,只是截取当中的部分元素


                不传递参数,默认从索引0到数组末尾


                传递一个参数:从参数索引开始到末尾


                传递负数:数组最后一项为-1


                     

arr.slice(1,3);