//测试数组的所有方法。
/*
* length
* push()
* shift()
* unshift()
* concat()
* slice()
* reverse()
* join()
* toString()
* sort()
* map()
* filter()
* Array.isArray()
* Array.from()
* Array.of()
* copyWithin()
* find()
* findIndex()
* fill()
* includes()
* forEach()
* some()
* indexOf()
* ervery()
* lastIndexOf()
**/
var testArray = [1,2,3,4,5,6,7,8];
console.log(testArray.length+`返回数组的长度`);
console.log(testArray.push(9)+`push方法返回数组的长度,在数组尾部追加元素`);
console.log(testArray.shift() +`删除数组的第一个元素,并返回该值,同时会修改原数组`);
console.log(testArray.unshift('添加元素1','添加元素2') +`在数组的头部添加元素,返回数组的长度,同时修改原数组`)
console.log( testArray.concat('链接元素1' ,'链接元素2') +`拼接数组,不会修改原来数组,而是返回一个拼接后的数组副本`)
//这个时候testArray 是原来的数组,没有concat中的拼接元素。
console.log(testArray.slice(1,4) +`-->返回切片数组 ,包含开始不包含结束 ,不会修改原来的数组`)
var nameArray= [ 's' , 'm' , 'i' , 't' , 'h'];
console.log(nameArray.join('') +`分隔数组,返回一个字符串。如果join中不指定分隔符,默认用"," 分割`)
var arr = [ 1,2,3,4,5,6,7];
console.log(arr.toString())
//sort()数组简单的排列、
/******************************************************************/
var mapArray = [1,2,3,4,5,6,7,8,9];
mapArray.map( function( item , index){
//map可以循环数组。
//item为数组的每一项
//index 为数组的下标。
})
var filterArray = [2,1,4,5,6,3,21];
filterArray.filter( function(item , index){
//过滤数组,返回数组中符合过滤条件的项
if(item > 20){
console.log(typeof item);
return item;
}
})
//检测一个对象是否实数组的几种方法
console.log(Array.isArray([12,3,4]))
//typeof
//instanceof Array
//Object.prototype.toString.call(obj) === '[object Array]';
//toString.apply(v) === '[object Array]';
//ES6 提供的数组方法
Array.from() /*用来将类数组转换为数组。常见的类数组有 通过document.querySelector()找到的NodeList和函数
* 的arguments对象。都属于类数组。
* Array.from({length:3}) 将会转换为 ['undefined' , 'undefined' , 'undefined']
* 还可以将字符串转换为数组,返回字符串的长度
**/
Array.of() /* 用来将一组值转换为数组。这个方法的作用是主要弥补new Array() 这个方法的不足造成的差异
*/
find( ()=>{} ) /* 用来找出第一个符合条件的数组成员,然后返回该成员。如果没有符合条件的,则返回undefined */
findIndex( ()=>{} ) /* 找出数组符合条件的项,如果没有找到符合条件的项,那么会返回-1*/
fill() /*用一个给定的值,来填充数组,fill接受三个参数
*fill( item , start ,end) item:要填充的项,start 开始位置,end 结束位置,不包括开始位置
*/
includes() /*方法返回一个布尔值,表示某个数组是否包含给定的值*/
forEach( (item , index )=>{} ) //数组遍历
some( (item , index)=>{} ) //会遍历数组,如果数组当中的某一项符合条件,那么就会返回true,同时停止遍历。
ervery( (item , index)=>{} ) /*会遍历数组,如果数组中所有的项都符合条件,那么就会返回true
* 如果有一项不符合条件,那么就会返回false,同时停止遍历。
*/
indexOf() //从数组头部开始寻找,检测数组中是否包含该值(执行严格检测) 如果有 返回下标,如果没有返回-1;
lastIndexOf() //从数组尾部开始寻找,如果能匹配到该值,则返回改值在数组中的下标,如果没找到返回-1