数组常用方法1(基本操作)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
// 数组常用方法一
// var arr=[1,6,4];
/* push 后面追加元素
返回值 数组长度 */
// var res=arr.push(10);
/* pop 后面删除元素
返回值 删除的元素 */
// var res=arr.pop();
/* unshift 前面追加元素
返回值 数组长度 */
// var res=arr.unshift(0);
/* shift 前面删除元素
返回值 删除的元素 */
// var res=arr.shift();
// var res=arr.splice(1,1); //删除从数组下标为1地方开始数的第一位,返回值:被删除的元素凑成的数组
// var res=arr.splice(0,0,"xiaoxiao"); //通过修改前面的参数可实现再任意位置删除和插入元素
// console.log(arr);
// console.log(res);
// var arr1=[2,1,14,90];
// reverse 倒序(顺序颠倒,不排大小)
// arr1.reverse();
// sort 排序
// arr1.sort(function(a,b){
// return a-b; //a-b为正序,b-a为倒序
// });
// console.log(arr1);
// 数组常用方法2
// concat 拼接
// var arr1=[1,2,3];
// var arr2=[4,5,6];
// var arr3=arr1.concat(arr2);
// // 或者
// // var arr3=arr2.concat(arr1);
// // 或者
// // var arr3=arr1.concat(arr2,7,[8,9]);
// console.log(arr3,arr4);
// // 或者
// // 复制数组的一种方法,且不改变原数组
// var arr4=arr1.concat();
// arr4.pop(); // 这里弹出一个值但并不影响原数组
// console.log(arr1,arr4);
// join 数组=>字符串
// var arr=[1,2,3,4,5];
// // 默认打印为[1, 2, 3, 4, 5]
// // 转换为1-2-3-4-5
// console.log(arr.join("-"));
// 或者
// var arr1=[];
// for(var i=0;i<5;i++){
// arr1.push("<li>"+i+"</li>");
// }
// document.write(arr1.join(""));
// // slice 保留原数据截取(开始索引,结束索引,可为负)
// var arr=[1,2,3,4,5];
// var arr1=arr.slice(0,2);
// // 或者
// var arr1=arr.slice(2);//从索引2开始,到最后
// // 或者
// var arr2=arr.slice();//另一种数组复制的方法
// console.log(arr,arr1,arr2);
// // indexOf 查找(-1找不到,其他返回索引)
// var arr =[1,2,3,4,5,6,1];
// var t=arr.indexOf(0); //返回-1
// // var t=arr.indexOf(4); //返回3
// var t=arr.indexOf(1,2); //从索引为2开始找1
// console.log(t);
// lastIndexOf 查找,方向与indexOf相反
var arr =[1,2,3,4,5,6,1];
var t=arr.lastIndexOf(1); //从后往前找,返回6
console.log(t);
</script>
</body>
</html>
数组常用方法2(回调函数)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
// // forEach 遍历
// var arr=["a","b","c"]
// arr.forEach(function(item,i){ //item每一项,,i索引值
// console.log(item,i)
// })
// // map 映射
// var arr1=[1,2,3,4,5]
// var arr2=arr1.map(function(item){
// /* 映射即将返回的值映到每一项,如下该输出为['aaa', 'aaa', 'aaa', 'aaa', 'aaa']
// return "aaa" */
// return item*item //实现求平方的例子
// })
// console.log(arr2)
/* // map映射的第二个例子
var arr1=["a","b","c"]
var arr2=arr1.map(function(item){
return "<li>"+item+"</li>"
})
// console.log(arr2)
document.write(arr2.join("")) */
/* // filter 过滤
var arr1=[
{
name:"a",
jiage:100
},
{
name:"b",
jiage:200
},
{
name:"c",
jiage:300
}
]
var arr2=arr1.filter(function(item){
// console.log(item)
return item.jiage>200
})
console.log(arr2) */
/* // find 查找(不同于filter,find只找出符合条件的第一项)
var arr1=[
{
name:"语文",
cj:90
},
{
name:"数学",
cj:92
},
{
name:"英语",
cj:100
}
]
var arr2=arr1.find(function(item){
return item.cj>=92
})
console.log(arr2) */
/* // every 每一项
var arr1=[80,90,92,94]
var arr2=arr1.every(function(item){
//每一项都满足条件则返回true,否则false
return item>=90
})
console.log(arr2) */
// some 只要一个满足
var arr1=[80,90,92,94]
var arr2=arr1.some(function(item){
//只要一个满足条件就返回true
return item>=90
})
console.log(arr2)
</script>
</body>
</html>