1、掌握如何创建数组
创建数组的基本方式有两种:
-①使用Array构造函数
语法:new Array()
小括号()说明:
-预先知道数组要保存的项目数量;
-向Array构造函数中传递数组应包含的项。
-②使用数组字面量表示法
有一对包含数组项的方括号[]表示,多个数组之间以逗号隔开。
2、掌握数组元素的读和写
读取和设置值时,使用[ ]并提供相应的索引
说明:索引是从0开始的正整数
3、掌握数组的length属性
语法:array.length
功能:获取数组array的长度
说明:
①通过设置length可以从数组的末端移除项或向数组中添加新项。
②把一个值放在超出当前数组大小的位置上时,
会重新计算数组长度值,长度值等于最后一个索引值加1.
掌握数组的栈方法:
1、push()
-语法:
arrayObject.push(newele1,newele2,......newX)
-功能:
把它的参数顺序添加到arrayObject的尾部。
-返回值:
把指定的值添加到数组后的新长度。
2、unshift()
-语法:
arrayObject.unshift(newele1,newele2,......newX)
-功能:
把它的参数顺序添加到arrayObject的开头。
-返回值:
把指定的值添加到数组后的新长度。
3、pop()
-语法:
arrayObject.pop()
-功能:
删除arrayObject的最后一个元素。
-返回值:
被删除的那个元素。
4、shift()
-语法:
arrayObject.shift()
-功能:
删除arrayObject的第一个元素。
-返回值:
被删除的那个元素。
//push 在尾部添加
var colors=new Array("red","green");
colors.push("blue","yellow","blank");
console.log(colors);
//unshift 在头部添加
var nums=[2,7,8,6];
var size=nums.unshift(99,66);
console.log(size);
//pop 删去最后一个元素
var n=nums.pop();
console.log(nums);
//shift 删去第一个元素
var m=colors.shift();
console.log(colors);
数组的转换方法:
join()
-语法:
arrayObject.join(separator)
-功能:
用于把数组中的所有元素放入一个字符串。
-返回值:
字符串。
//join
var nums=[2,4,5];
var str=nums.join();
//console.log(str);//2,4,5
var words=["border","left","colors"];
//border-left-color
var wordstr=words.join("-");
console.log(wordstr);//border-left-colors
revers()
-语法:
arrayObject.reverse()
-功能:
用于颠倒数组中元素的顺序。
-返回值:
数组。
//join
var nums=[2,4,5];
var str=nums.join();
//console.log(str);//2,4,5
var words=["border","left","colors"];
//border-left-color
var wordstr=words.join("-");
console.log(wordstr);//border-left-colors
//reverse
nums.reverse();
console.log(nums);//5,4,2
var strs=["a","b","c","d"];
//返回dcba这个字符串
var newstr=strs.reverse().join("");
console.log(newstr);
sort()
-语法:
arrayObject.sort(sortby)
-功能:
用于对数组的元素进行排序。
-返回值:
数组。
-说明:
①即使数组中的每一项都是数值,sort()方法比较的也是字符串。
②sort()方法可以接受一个比较函数作为参数。
//9,23,15,88,12
var arr=[9,23,15,88,12];
//console.log(arr.sort());//12,15,23,88,9
//降序
//arr.sort(function(a,b){return b-a});//88,23,15,12,9 降序
//升序
arr.sort(function(a,b){a-b});//9,12,15,23,88
console.log(arr);
concat()
-语法:
arrayObject.concat(arrayX,arrayX,.....arrrayX)
-功能:
用于连接两个或多个数组。
-返回值:
数组。
//concat
var arr1=["a","b","c"];
var arr2=["d","e",1,3];
var arr3;
arr3=arr1.concat(arr2,["m",99,8]);
console.log(arr3); //a,b,c,d,e,1,3,m,99,8
slice()
-语法:
arrayObject.slice(start,end)
-功能:
从已有的数组中返回选定的元素。
-参数:
start(必须)规定从何处开始选取,如是负数,从数组尾部开始算起。
end(可选)规定从何处结束选取,是数组片断结束处的数组下标。
-说明:
①如没指定end,切分的数组包含从start到数组结束的所有元素。
②如slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。
-返回值:
数组。
//slice
var colors=["red","green","blue","yellow","orange"];
var newColors=colors.slice(1,2);//green 截取:star到end-1的元素
var newColors2=colors.slice(-2);//yellow orange 负数从尾部开始截取
var newColors3=colors.slice(-4,3);//1-2 grenn blue
console.log(newColors3);
面试题
splice()
-掌握使用splice()方法删除数组项
-语法:
arrayObject.splice(index,count)
-功能:
删除从index处开始的零个或多个元素。
-说明:
count是要删除的项目数量,如果设置为0,则不会删除项目。
如不设置,则删除从index开始的所有值。
-返回值:
含有被删除的元素的数组。
//删除 splice
var arr=["a","b","c","d","e","f"];
var delArr=arr.splice(2,1);
console.log(arr);//(2,2) a,b,e,f //(2,1) a,b,d,e,f
console.log(delArr);//(2,2) c,d //(2,1) c
//(2,1)从第二个开始删除,删除一个
//arr是删除后的数组
//delArr是删掉的部分
-掌握使用splice()方法插入数组项
-语法:
arrayObject.splice(index,0,item1,......itemX)
-功能:
在指定位置插入值。
-参数:
Index:起始位置
0:要删除的项
item1,......itemX:要插入的项
-返回值:
数组。
// 插入 splice
var arr=["a","b","c","d","e","f"];
var insertArr=arr.splice(3,2,"m","n");
//3从3的前面开始添加数组 //0删除的数组项个数 //mn要添加的数组项
console.log(arr);//a,b,c,m,n,d,e,f
console.log(insertArr);//
-掌握使用splice()方法替换数组项
-语法:
arrayObject.splice(index,count,item1,......itemX)
-功能:
在指定位置插入值,并同时删除任意数量的项。
-参数:
Index:起始位置
0:要删除的项数
item1,......itemX:要插入的项
-返回值:
从原始数组中删除的项(如果没有删除任何项,则返回空数组)。
//替换 splice
var arr=["a","b","c","d","e","f"];
var reArr=arr.splice(1,2,"x","y","z");
console.log(arr);//a,x,y,z,d,e,f
console.log(reArr);//b,c
//总结归纳
var arr=["a","b","c","d","e","f"];
//删除 splice
var delArr=arr.splice(2,1);
// 插入 splice
var insertArr=arr.splice(3,"m","n");
//替换 splice
var replaceArr=arr.splice(1,2,"x","y","z");
掌握ECMASript为数组实例添加的两个位置方法:
indexOf()
-语法:
arrayObject.indexOf(searchvalue,startIndex)
-功能:
从数组的开头(位置0)开始向后查找。
-参数:
searchvalue:必需,要查找的项;
startIndex:可选,起点位置的索引
-返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1.
lastIndexOf()
-语法:
arrayObject.lastIndexOf(searchvalue,startIndex)
-功能:
从数组的末尾开始向前查找。
-参数:
searchvalue:必需,要查找的项;
startIndex:可选,起点位置的索引
-返回值:
number,查找的项在数组中的位置,没有找到的情况下返回-1.
var nums=[1,7,5,7,8,1,6,9];
//var pos=nums.indexOf(7,2);//3
//7在列表项中寻找7, 2代表从第二位开始寻找,即从“5”开始
var pos=nums.lastIndexOf(1);//5
//1 代表从末尾开始查找数字1的位置
console.log(pos);
数组的重排序方法:
Array
String
Math