Array

1 数组是什么
数组就是一个包含了多个值的对象,由方括号构成,其中包含用逗号分隔的元素列表,数组中的元素可以是任何类型,包括字符串 数字 对象甚至是另一个数组:
let arr = ['tree', 10, [1, 2]];
 
2 数组访问,修改
let arr = ['tree', 10, [1, 2]];
arr[0] //返回数组中的第一个元素 tree。
我们可以用括号法 arr[0] 来获取数组具体位置的元素, [0]表示数组中的第一项元素。
 
let arr = ['tree', 10, [1, 2]];
arr[0] ='book'
console.log(arr)  //返回 ['book', 10, [1, 2]];
也可以以这种方法重新赋值数组中具体位置的某个元素。
 
 
多维数组(有两个以上的数组组成的数组)
需要用两小括号来访问数组中的数组里边的元素. 

let arr = [['milk','chicken','tea'] ,[1, 2]];
arr[0][1]  //也就是找arr数组里边第一个数组的第二个元素,返回chicken;
 
3 数组长度
let arr = [['milk','chicken','tea']
for (let i = 0; i < arr.length; i++)
{ console.log(arr[i]); }
数组长度:和字符串一样都是用length来表示,但是数组长度的作用一般较多用作循环,上边会依次打印出 milk chicken tea。
 
4 字符串转换数组:
let str = 'aliyun,baiduyun,tencentyun'
let arr1 = str.split(',');    // 返回 ['aliyun','baiduyun','tencentyun']
let arr2 = str.split(',',2);  // 返回 ['aliyun','baiduyun']
 我们用 split() 来把字符串分割成字符串数组,split()里边一般填两个参数,第一个填分割符号比如空格、换行(\n)、制表符(\t),第二个填分割次数,不填分割所有 。
 
数组转换字符串:
let arr = ['aliyun','baiduyun','tencentyun'];
let str1 = arr1.join('/')     // 返回 字符串 'aliyun/baiduyun/tencentyun'
let str2 = arr1.tostring()    // 返回 字符串 'aliyun,baiduyun,tencentyun'
转换字符串我们既可以用数字转换字符串的方式toString(),也可以用.join()来把数组转换成字符串,但是toString()只能用逗号分开,使用 .join() 则可以指定不同的分隔符,所以在灵活性上我们.join() 更胜一筹
 
数组末尾增加新元素
在数组末尾增加新的子元素
let arr = ['apple','banana','orange']
let arr1 = arr.push('pineapple');   //返回 4,返回的新数组的长度
let arr2 = arr   //返回 ['apple','banana','orange',pineapple]
在数组末尾添加一个子元素 我们可以用 .push() 的方法进行添加,但要注意的是.push() 是会返回值的,返回的是添加子元素后数组的长度,所以我们要添加变量为新数组的话 不能直接用let arr1 = arr.push('polo')这种方式,我们可以用 let arr2 = arr 这种方式来对新的变量进行赋值。
 
数组末尾删除子元素
let arr = ['apple','banana','orange']
let arr1 = arr.pop();  // 返回 orange,返回的新数组的长度
let arr2 = arr    //返回 ['apple','banana']
在数组末尾删除子元素 我们可以用 .pop() 的方法进行添加,同样.pop()也是返回的数组长度,所以我们要添加后赋值给新变量的话,也是用上边方法进行赋值。
 
 
在数组开始增删的子元素
我们用unshift(),shift(),来对数组开始增删子元素,属性和上边的push(),pop()也是一致的。