js数组对象

    xiaoxiao2021-08-22  278

    Array数组

    1, 创建数组并给数组赋值1.1 创建数组的三种方式 2. 数组和字符串间的相互转化2.1 字符串转为数组: obj.split(" ")2.2 数组转化为字符串: obj.join("")和obj.toString() 3 数组的方法4.简单练习

    1, 创建数组并给数组赋值

    数组对象:使用单独的变量名来存储一系列的值

    var a1=new Array(); console.log(a1);//Array[] console.log(a1.length);//0

    1.1 创建数组的三种方式

    new 是实例化对象 第一种:

    var a3=new Array(1,2,3);//数组赋多个值表示直接给数组赋值,长度自动 console.log(a3);//Array[1,2,3]

    第二种:(简写方式)

    var a=[1,2,3,4,5];

    第三种:

    var a3=new Array(); a3[0]=1; a3[1]=2; a3[2]="a"; // a3[3]=function(){ // console.log("wo shi han shu") // }; a3[3]=function(){ console.log("wo shi han shu"); return 1; }; a3[4]=null; console.log(a3[3]());//1 var a2=new Array(2);//数组赋一个值表示该数组的长度 console.log(a2);//Array[<2 empty slots>]

    *注意:数组赋一个值表示规定了该数组的长度;数组赋多个值表示直接给数组赋值,长度自动

    2. 数组和字符串间的相互转化

    2.1 字符串转为数组: obj.split(" ")

    var d="123~abcdef"; console.log(d.split(""));//Array["1","2","3","~","a","b","c","d","e","f"] var e="123~abcdef"; console.log(e.split("~"));//按照“~”转化字符串为数组Array["123","abcdef"]

    2.2 数组转化为字符串: obj.join("")和obj.toString()

    obj.join("") 该方法将数组返回为一个连续的字符串,但是也可以规定使用的符号拼接字符串

    var a=[1,2,3,4,5]; console.log(a.join(""));//12345 console.log(a.join("~"));// 1~2~3~4~5使用“~”拼接数组元素 var b=new Array(1,2,3,"abc");// console.log(b,b.join(""));// Array[1,2,3,"abc"] 123abc var c=new Array(1,2,3,"abc",null,function d(){}); console.log(c.join(""));//123abcfunction d(){}

    obj.toString() 将数组转换为以逗号分隔的字符串

    var a=[1,2,3,4,5]; var e=["apple","orange","banana","mango"]; console.log(a.toString(),e.toString());//1,2,3,4,5 apple,orange,banana,mango

    3 数组的方法

    3.1 拼接 concat

    var a=[1,2,3]; var b=["a","b","c","d"]; var c=[null,45,67]; console.log(a.concat(b));//两个数组拼接 console.log(a.concat(b,c));//多个数组拼接

    3.2 截取 slice (start,end):截取完对原数组没有影响 splice(start,end)或者splice(start,length):对原数组有影响,截取后存储的值变为余下的值

    var a=[1,2,3,4,5]; console.log(a.slice(0, 2),a);//Arrey[1,2] Arrey[1,2,3,4,5] console.log(a.splice(0, 2), a);//Arrey[1,2] Arrey[3,4,5] //console.log(a.splice(2, 1), a);//Arrey[5] Arrey[3,4]

    用splice给数组去除重复

    var b=[2,3,3,5,7,7,9,"an","dark","ease","oppo"] for(var i=0;i< b.length;i++){ for(var k=i+1;k< b.length;k++){ if(b[i]==b[k]){ b.splice(k,1); } } } console.log(b);

    3.3 追加 unshift(""):在数组内容之前追加,返回值是数组的长度 push(""):在数组内容之后追加,返回值也是数组的长度

    var a=[3,4,5]; console.log(a.unshift("def"),a);//4 Arrey["def",3,4,5] console.log(a.push("abc"),a);// 5 Arrey["def",3,4,5,"abc"]

    3.4 删除 shift():从前往后删除,返回值是删除的值 pop():从后往前删除,返回值也是删除的值

    var a=["def",3,4,5,"abc"] console.log(a.shift(),a);//def Arrey[3,4,5,"abc"] console.log(a.pop(),a);//abc Arrey[3,4,5]

    3.5 给数组排序 sort 给字母排序

    var b=[7,2,3,5,7,9,3]; b.push("an","oppo","ease","dark"); console.log(b);//Array[7,2,3,5,7,9,3,"an","oppo","ease","dark"] console.log(b.sort());//Array[2,3,3,5,7,7,9,"an","dark","ease","oppo"]

    给数字排序

    var b=[7,2,3,5,7,9,3]; b.push("an","oppo","ease","dark"); b.sort(function(a1,a2){ return a1-a2; }); console.log(b);//Array[2,3,3,5,7,7,9,"an","dark","ease","oppo"] b.sort(function(a1,a2){ return a2-a1; }); console.log(b);//Aarray[]"oppo","ease","dark","an",9,7,7,5,3,3,2]

    4.简单练习

    4.1 字符串合并再去除重复

    var c="abodjfwad"; var d="ajfnihgne"; var e="urtgownvg"; var f= c.concat(d,e); var g= f.split(""); console.log(g); for(var h=0;h<g.length;h++){ for(var i=1;i<g.length;i++){ if(g[h]==g[i]){ g.splice(i,1) } } } console.log(g.join(""));

    4.2 选择排序

    var a=[3,5,7,6,9,7,2,7,6,8,9]; function abc(x){ for(var i=0;i< x.length;i++){ var space=null; for(var k=i+1;k<x.length;k++){ var minindex=i; if(x[k]<x[i]){ minindex=k; space=x[i]; x[i]=x[minindex]; x[minindex]=space; } } } } abc(a); console.log(a);

    用数组的最小索引与最小值绑定,再与a[i]比较再进行位置交换


    最新回复(0)