数组: 1、数组内可以存放任意类型的数据 2、数组元素不赋值,则为undefined 3、打印数组时,如果某个元素没有赋值,则为“” 4、访问数组范围以外的元素时,不会出现越界异常,为undefined 5、定义的数组大小,依然可以添加更多的元素
一、数组的创建
第一种:
var arrayObj = new Array(); //创建一个数组
arr[0] = 123 arr[1] = "abc"; arr[5] = false; alert(arr[3]);//undefined alert(arr);//123,abc,,,,false alert(arr[10]);//undefined,不会出现越界异常
第二种:
//创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([size]);
要说明的是,虽然第二种方法创建数组指定了长度,但实际上所有情况下数组都是变长的,也就是说即使指定了长度为5,仍然可以将元素存储在规定长度以外的,注意:这时长度会随之改变。
var arr2 = new Array(2);//规定了数组的长度为2 arr2[0] = "ddd"; arr2[1] = "www"; alert(arr2);//ddd,www arr2[2] = "fff";//可以再次添加元素,定义的数组大小对此没有影响 alert(arr2);//ddd,www,fff
第三种:
//创建一个数组并赋值 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); 例如: var arr3 = new Array(true,123,false); alert(arr3);//true,123,false
第四种:
//第四种,推荐使用 var arr4 = [false,"aaa",123]; alert(arr4);//false,aaa,123
二、数组数据添加元素
1.Array.push() 追加到后面 – 原数组
let arry = [1,2,3,4]; array.push(5,6)
2.Array.unshift()追加到前面 – 原数组
let array = [1,2,3,4]; array.unshift(2,4)
3. Array.splice(索引位置,个数,添加的元素) – 原数组
let array = [1,2,3,4,5]; array.splice(array.length,0,6,8,9);//第二个参数为0的时候,是可以添加参数的,1的时候是删除
4.Array.length – 原数组
let array=[1,2,3,4,5]; array[array.length]=6
5.Array.concat() – 新数组
[1,2,3].concat(5,6,7)
6. … --新数组
[...[1,2,3,4],5]
二、删除数组指定元素
arrayObj.pop(); //移除最后一个元素并返回该元素值 arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素
方法1:splice方法
注释:该方法会改变原始数组。
splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值
-
index:数组开始下标
-
len: 替换/删除的长度
-
item:替换的值
删除操作的话 item为空
方法2:delete方法
delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变
中间出现两个逗号,数组长度不变,有一项为undefined
三、获取数组指定元素的下标
1、for循环对比
2、indexof
//获取元素指定值得下标 var findex = _up_one_pfile.indexOf(index);
例如:
//总数组 console.error(_up_one_pfile); //找数组中对应的值 console.error(pfile); //获取其对应值在数组中的位置 var findex = _up_one_pfile.indexOf(pfile); console.error(findex); console.error("findex");
标签:下标,元素,js,数组,var,Array,alert,array From: https://www.cnblogs.com/ZhuMeng-Chao/p/17113752.html