美文网首页
JavaScript基础语法之数组

JavaScript基础语法之数组

作者: 乐学小乐 | 来源:发表于2020-11-16 09:21 被阅读0次

数组

​ 数组是按次序排列的一组数据,每个值的位置都有编号(从0开始),整个数组用方括号表示。

数组定义

​ JS 中定义数组的三种方式如下(也可先声明再赋值):

var arr = [值1,值2,值3];  // 隐式创建

var arr = new Array(值1,值2,值3); // 直接实例化

var arr = new Array(size); // 创建数组并指定长度

基本操作

​ 数组的长度可以通过length属性来获取,并可以任意更改

数组名.length
数组名.length = 新长度 

​ 数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界

数组名[下标]
数组名[下标] = 新值

数组遍历

​ 数组的遍历即依次访问数组的每一个元素 ,JS提供三种遍历数组的方式:

普通的for循环遍历
for(var i=0; i<=数组.length-1; i++){

}
如:
for(var idx=0;idx<arr.length;idx++){
    console.log(arr[idx]);
}

for … in
for(var 下标(名称任意) in 数组名){ 
    数组名[下标]是获取元素
} // 下标(名称任意)
如:
for(var idx in arr){
    console.log(arr[idx]);
}

forEach
数组名.forEach(function(element,index){
    // element(名称任意):元素,index(名称任意):下标
})    
如:
arr.forEach(function(elem,idx){
    console.log(idx + "-->" + elem);
});

了解
数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。
如果下标:
    1.为非负整数(包括整数字符串):自动从0开始,不存在添加 undefined
    2.为负数、小数、非数字符串:这些内容不计算在长度内,当成"属性"处理,相当于自定义属性。

数组非常灵活,使用数组元素
    1.下标: 非负整数(包括整数字符串): 
        数组.下标
        数组[下标]
    2.下标:负数、小数、非数字字符串:
        数组[属性]

* for --> 不遍历属性
* foreach -->不遍历属性和索引中的undefined
* for in -->不遍历索引中的undefined

数组提供的操作方法

​ Array对象为我们提供了一些方法,可以很方便地操作数组

push          添加元素到最后 
unshift       添加元素到最前 
pop           删除最后一项 
shift         删除第一项 
reverse       数组翻转 
join          数组转成字符串 
indexOf       数组元素索引 
slice         截取(切片)数组,原数组不发生变化 
splice        剪接数组,原数组变化,可以实现前后删除效果 
concat        数组合并

var arr = ['1','a',5,'3'];
console.log(arr);
arr.push(10);
console.log(arr);
arr.unshift('b');
console.log(arr);
arr.pop();
console.log(arr);
arr.shift();
console.log(arr);
arr.reverse();
console.log(arr);
console.log(arr.join('\''));
console.log(arr);
console.log(arr.indexOf('a'));
console.log(arr.slice(2,5));
console.log(arr);
arr.splice(1,1,'一','二');
console.log(arr);
var arr1 = [0,'100'];
console.log(arr.concat(arr1));
console.log(arr);
console.log(arr1);
console.log(arr1.(arr));

相关文章

网友评论

      本文标题:JavaScript基础语法之数组

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