提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
目录
4.转换 JSON.stringify .join(分隔符)
(1)sort:数组方法排序 sort,默认按照ASCII编码排序,并且改变原数组内部秩序
1.unshift()方法
头部新增unshift,返回新增之后长度,改变数组内部元素。
unshift()在头部新增一项或多项元素
应用1:
var arr=[];
arr[1]="friend";
console.log(arr.unshift("we","are","good","vary","much!"));
console.log(arr);
运行结果:
2.shift()方法
头部删除shift,返回是删除的那一项元素,改变数组内部元素
shift()在头部删除元素,调用一次,只删除一个元素
应用2:
var arr=[];
arr[1]="friend";
console.log(arr.unshift("we","are","good","vary","much!"));
console.log(arr);
console.log(arr.shift("we","are","good","vary","much!"));
console.log(arr);
运行结果:
3.push()pop()方法
末尾 新增--长度 删除--被删除那一项
push():末尾新增一项或者多项元素
pop():末尾删除元素,每次调用一次只能删除一个元素
// 方法1:末尾新增
arr1[arr1.length]={name:"xx"}
console.log(arr1);
document.write(arr1[arr1.length-1]["name"])
var arr1=[];
arr1[0]="abc";
for(var value of arr1){ //由数组长度决定循环次数
console.log(value);
}
delete:可以删除某一项下标(对象属性),删除完数组长度不变,值消失undefined
例如:delete arr1[91]
举例2:
var arr=[];
arr[1]="friend";
console.log(arr.unshift("we","are","good","vary","much!"));
console.log(arr);
console.log(arr.push("classmates","teacher"));
console.log(arr.pop());
console.log(arr);
运行结果:
4.数组-相关方法1
1.查找 indexOf,lastindexOf
举例:
var obj={name:"张三"};
var arr=[20,100,150,200,20,250,300,true,false,obj]
console.log( arr.indexOf(20,1));
console.log( arr.indexOf(20));
// 找引用类型
console.log( arr.indexOf({name:"张三"}));
console.log( arr.indexOf(obj)); //9 正确的下标号
运行结果:
2.截取 slice:截取并不改变原数组
举例:
var obj={name:"张三"};
var arr=[20,100,150,200,20,250,300,true,false,obj]
var newArr=arr.slice(0);
console.log(newArr);
arr[arr.length-1]=newArr[newArr.length-1]
console.log(arr);
console.log('=======================');
var str="";
console.log(arr.indexOf==str.indexOf); //false
console.log(arr.indexOf==arr.__proto__.indexOf); //true
console.log(arr.__proto__==Array.prototype); //true
console.log('=======================');
console.log(str.indexOf==str.__proto__.indexOf); //true
console.log(str.__proto__==String.prototype); //true
console.log('=======================');
运行结果:
3.拼接:concat,并不改变原数组
举例:
var arr1=[1,2,4]
var arr2=[5,6,7]
var arr3=arr1.concat(arr2);
console.log(arr1,arr3);
运行结果:
4.转换 JSON.stringify .join(分隔符)
举例:
var arr1=[1,2,4]
var arr2=[5,6,7]
var arr3=arr1.concat(arr2);
var newstr="we are good friend";
console.log(newstr.split(" ")); //字符串转数组
console.log(arr3);
console.log(String(arr3));
console.log(arr3.toString());
console.log( arr3.join("--"));
console.log( arr3.join(""));
console.log(JSON.stringify(arr3));
运行结果:
5. 替换 .splice(2,1,33)
参数1--被替换的下标索引
参数2--被删除的个数length
参数3--新增的target,个数不限
举例:
var finalarr=[12,32,44,66,77,88]
finalarr.splice(1,1,33);
console.log(finalarr);
运行结果:
5.1删除指定的n项数据
举例:
var finalarr=[12,32,44,66,77,88]
finalarr.splice(finalarr.indexOf(12),1)
console.log(finalarr);
运行结果:
5.2在指定位置新增n项
举例:
var finalarr=[12,32,44,66,77,88]
finalarr.splice(finalarr.indexOf(88)+1,0,99,111)
console.log(finalarr);
运行结果:
5.数组-相关方法2
(1)sort:数组方法排序 sort,默认按照ASCII编码排序,并且改变原数组内部秩序
举例:
var arr=[100,145,345,789,-100,456,234,567]
console.log( arr.sort() );
console.log( arr );
运行结果:
(2)通过减法运算,得到数字大小排序b-a降序,a-b 升序;
举例:
var arr=[100,145,345,789,-100,456,234,567]
arr.sort(function(a,b){
// console.log(a,b);
return b-a;
});
console.log(arr);
运行结果:
程序1:
var arr1=[
{name:"毛巾",price:300},
{name:"铅笔",price:9},
{name:"卷子",price:134},
{name:"笔记本",price:30000},
{name:"书桌",price:3000},
{name:"凳子",price:10},
{name:"水盆",price:50},
]
arr1.sort(function(a,b){
return a.price-b.price
});
console.log(arr1);
运行结果:
程序2:
// 降序
var arr2=["sally","Bob","yimmi","Moli","Ali","alse"]
arr2.sort(function(a,b){
if(b.toLocaleLowerCa>a.toLocaleLowerCase()){
return 1;
} else{
return -1;
}
});
console.log(arr2);
运行结果:
(3)数组.reverse() 逆序,会该数组
程序2:
// 降序
var arr2=["sally","Bob","yimmi","Moli","Ali","alse"]
arr2.sort(function(a,b){
if(b.toLocaleLowerCa>a.toLocaleLowerCase()){
return 1;
} else{
return -1;
}
});
console.log(arr2);
console.log(arr2.reverse());
运行结果: