js的数组的声明与初始化问题

1,022 阅读1分钟

js的数组声明分为四种形式:

let arr=[];
console.log(arr);//[]
arr=new Array();//构造函数形式
console.log(arr);//[]
arr=Array();//函数形式
console.log(arr);//[]
arr=Array(10);
console.log(arr);//[<10 empty items>]

js的数组初始化:

1、通过for循环遍历数组,实现数组的初始化。

for(let i=0;i<arr.length;i++){
	arr[i]=i;
}
console.log(arr);
/*[
  0, 1, 2, 3, 4,
  5, 6, 7, 8, 9
]*/

2、通过for in 遍历数组,实现数组的初始化,for-in遍历的是数组的属性下标,下标以字符形式。且是无序的

for(let i in arr){
	arr[i]=i;
}
console.log(arr);
/*
  '0', '1', '2', '3',
  '4', '5', '6', '7',
  '8', '9'
]*/

3、通过forEach实现对数组的遍历,这个排除了for循环。forEach遍历的是数组的值。

join,实现数组向字符串的转化,在通过split将字符串转化为数组。但是数组中的元素都是string型的。通过forEach将其转为Number。

let arr=new Array(11);
arr=arr.join(0).split('');arr.forEach(function(item,index,arr){arr[index]=index});
console.log(arr);
/*[
  0, 1, 2, 3, 4,
  5, 6, 7, 8, 9
]*/

forEach(item,index,arr):中的参数item为数组的值,index为数组的下标,arr为数组。forEach(item),不改变数组元素,可以通过forEach(item,index,arr)改变数组的元素