如何创建数组 1.使用Array构造函数 语法: new Array() 小括号()说明: (1)预先知道数组要保存的项目数量 (2)向Array构造函数中传递数组应包括含的项
数组怎么赋值 var arr = new Array(2);//赋值一个参数 代表的是数组的长度 console.log(arr); var arr1 = new Array(2, 3, 4);//多个值 代表直接赋值 长度自动 console.log(arr1); var a = new Array(); a[0] = 1; a[1] = 2; a[2] = "a"; a[3] = function () { console.log("wo shi han shu "); return 1; } a[4] = null; console.log(a); //function{ } //数组取值 console.log(a[3]()); // 1length 数组的长度 语法: Array.length 功能:获取数组array的长度 返回值: number 说明: 1、通过设置length可以从数组的末尾移除项或向数组中添加新项。 2、当把一个值放在超出当前数组大小的位置上时,数组就会重新计算其长度值,长度值等于最后一项的索引加1。
/*console.log(arr.length);*/ var arr=["a","b","c","d"]; console.log(arr.length); //4 arr.length=2; arr[99]="z"; console.log(arr.length); //100 //数组的遍历 for(var i=0;i<arr.length;i++){ console.log(arr[i]); } 数组索引的值 var cols=["red","yellow","green"]; console.log(cols); var infos=[6,"marry",true] console.log(infos); console.log(cols[3]); *///读取cols这个数组中索引为1的值:yellow函数里面的方法 var k=new Array() 简写: var k=[ ]; 数组的转化
join()语法: arrayObjectjoin(separator) 功能: 用于把数组中的所有元素放入一一个字符串。 返回值:字符串。
reverse()语法: stringObject.reverse() 功能: 用于颠倒数组中元素的顺序。 返回值:数组。
sort()语法: arrayObject.sort(sortby) 功能: 用于对数组的元素进行排序。 返回值:数组。 说明: 1、即使数组中的每一项都是数值,sort()方法比较的也是字符串 2.sort()方法可以接收一个比较函数作为参数
concat()语法: arrayObject.concat(arrayX,arrayX…arrayX) 功能: 用于连接两个或多个数组。 返回值:数组。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>concat和slice</title> </head> <body> <script> //concat() var arr1=["a","b", "c"], arr2=["d","e",2,3], arr3; arr3=arr1.concat(arr2); arr4=arr1.concat(arr2,["m",99]); console.log(arr3); console.log(arr4); //slice(start,end) var colors=["red","blue","pink","green","orange","yellow"]; var newColors=colors.slice(1,3); //截取出“blue”和“pink” /*(1)start和end是数组中的索引值。 (2)截取start和end(不包含该元素)的元素,即为start到end-1的元素。*/ console.log(newColors ); //blue,pink var newColors2=colors.slice(-3,4); // 3 console.log(newColors2 ); //完成下列数组b对数组a的拷贝 ,方法越多越好 var a=[1,"blue",6], b; //1.数组遍历 /* b=new Array(); for(var i=0;i<3;i++){ b.push(a[i]); }*/ //2.concat 连接法 b=[].concat(a); //3.slice法() b=a.slice(0,3); console.log(b); </script> </body> </html> slice()语法: arrayObject.slice(start,end) 功能: 从已有的数组中返回选定的元素。 参数: start (必需)规定从何处开始选取,如果是负数,那么它规定从数组尾部开始算起的位置。 end (可选)规定从何处结束选取,该参数是数组片断结束处的数组下标。 slice() 说明: 1、如果没有指定end ,那么切分的数组包含从start到数组结束的所有元素。 2、如果slice()方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。 注 (1) start和end是数组中的索引值。 (2) 截取start和end(不包含该元素)的元素,即为start到end-1的元素。 返回值:数组
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title> join reverse sort</title> </head> <body> <script> //join() 把数组中的所有元素放入一个字符串 var nums=[2,4,6]; var str=nums.join(); /* console.log(str); console.log(typeof(str));*/ var words=["border","left","color"]; //border-left-color //var wordstr=words.join(); //默认逗号隔开 border,left,color // var wordstr=words.join(""); //字符间无间隔 borderleftcolor var wordstr=words.join("-"); //用 - 隔开 console.log(wordstr); //reverse() 颠倒数组顺序 console.log(nums.reverse()); var strs=["a","b","c","d"]; //返回dcba之歌字符串 var newstr=strs.reverse().join(""); console.log(newstr); //sort() 对数组的值排序 var arr=[8,45,-3,66,12,98]; //降序的排列 arr.sort(function(a,b) {return b-a}); //升序 arr.sort(function(a,b) {return a-b}); console.log(arr); </script> </body> </html>splice三大用法 (1)删除 语法: arrayObject.splice(index,count) 功能: 删除从index处开始的零个或多个元素。 返回值: 含有被删除的元素的数组。 说明: count是要删除的项目数量,如果设置为0 ,则不会删除项目。如果不设置,则删除从index开始的所有值。 (2)插入 语法: arrayObject.splice(index,0,item1,…, itemX) 功能: 在指定位置的前面插入值 参数: Index:起始位置 0 :要删除的项数 item1…,itemX :要插入的项 返回值:数组 (3)替换 语法: arrayObject.splice(index,0,item1…,itemX) 功能: 在指定位置插入值,且同时删除任意数量的项参数: Index :起始位置 count:要删除的项数 item1…itemX :要插入的项 返回值:从原始数组中删除的项(如果没有删除任何项,则返回空数组)
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>splice</title> </head> <body> <script> //删除splice(index,count) var arr=["a","b","c","d","e","f"]; /* var delArr=arr.splice(2,2); //删除从2 开始的两个元素 count为0 时不删除元素 console.log(arr); //a b e f console.log(delArr); //c d*/ //插入 splice(index,0,item1...itemX) /*var inputArr=arr.splice(2,0,"m","n",88); //在“c”之前插入 console.log(arr ); console.log(inputArr );*/ //替换 splice(index,0,item1.....,itemX) var replaceArr=arr.splice(1,2,"x","y","z"); //先删除b c ,再将他们替换为x y z console.log(arr ); console.log(replaceArr); </script> </body> </html>indexOf() 查找: indexOf() 语法: arrayObject.indexOf(searchvalue,startIndex) 功能: 从数组的开头(位置0)开始向后查找。(如果检查的值有多个相同值时,检查第一个值得位置) 参数: searchvalue :必需,要查找的项; startIndex :可选,起点位置的索引。 返回值: number查找的项在数组中的位置,没有找到的情况下返回-1 lastIndexOf() 语法: arrayObject.lastIndexOf(searchvalue,startIndex)功能: 从数组的末尾开始向前查找。 参数: searchvalue :必需,要查找的项; startIndex :可选,起点位置的索引。 返回值: number ,查找的项在数组中的位置,没有找到的情况下返回-1。
push() 语法: arrayObject.push(newele1,newele2…,neweX) 功能: 把它的参数顺序添加到arrayObject的尾部。 返回值: 把指定的值添加到数组后的新长度。 unshift() 语法: arrayObject.unshift(newele1,newele2…neweX) 功能: 把它的参数顺序添加到arrayObject的开头。 返回值: 把指定的值添加到数组后的新长度。 pop() 语法: arrayObject.pop() 功能: 删除arrayObject的最后一个元素 返回值: 被删除的那个元素
shift() 语法:arrayObject.shift() 功能: 删除arrayObject中的第一个 元素 返回值: 被删除的那个元素
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>push unshift pop shift</title> </head> <body> <script> //push //把参数添加到array的后面 var colors=new Array("red","green"); var len=colors.push("blue","yellow","blank"); //console.log(colors); // console.log(len); //unshift //把参数添加到array的前面 var nums=[2,7,8,9]; //var size=nums.unshift(99,66); //console.log(nums); //pop //删除数组中的最后一个数 var n=nums.pop(); console.log(n); //9 //shift //删除组中的第一个数 var m=colors.shift(); console.log(m); console.log(colors); // </script> </body> </html>小总结:
var k = [1, 2, 3, 4, 5]; //join 是驻足转化为string 参数是按照什么符号拼接 console.log(k.join("|")); //reverse 数组的翻转 console.log(k.reverse()); //slice 截断数组 参数 start end 索引 取小不取大 截取完成之后对原数组没有影响 console.log(k.slice(0, 2)); console.log(k); //splice 参数 start count 截取完成之后对原数组有影响 console.log(k.splice(0, 3)); console.log(k); //数组追加的方法 //push数组内容之后追加 返回的值是数组的长度 console.log(k.push(0)); console.log(k); //unshift内容之前追加 返回值是数组的长度 console.log(k.unshift(-1)); console.log(k); //shift数组的删除 删除前面的 返回值是删除的值 console.log(k.shift()); console.log(k); //pop 删除是最后边的 返回值是删除的值 console.log(k.pop()); //sort 排序的方法