快乐的捷径
时间:2018-01-12 19:35:54来源:杰瑞文章网点击:作文字数:300字
作文导读:JS数组(every、some、filter、forEach、map、reverse、sort、indexOf、lastindexOf方法)
reverse方法
JavaScript中数组的reverse()方法用于将数组倒序输出,并且改变了原数组,并且返回的也是新数组。
var arr=["8",3,5,6,"a","s"];
var con=arr.reverse();
console.log(arr); //结果为:["s","a",6,5,8,3,8]
console.log(con); //结果为:["s","a",6,5,8,3,8]
sort方法
JavaScript中数组的sort()方法用于对数组进行排序,如果不写任何参数,sort是按照字符串排序的,也就是ascII码排序,sort方法会改变原数组,并且返回改变后的新数组。
var arr=[1,2,10,14,21,3];
var con=arr.sort();
console.log(arr); //结果为:[1,10,14,2,21,3]
console.log(con); //结果为:[1,10,14,2,21,3]
使用sort方法还可以让数组的元素按照数字的大小进行排序,此时sort方法中需要传入一个参数,并且是一个函数,函数有两个形参,a,b,其中a是数组的第二个元素,b是数组的第一个元素。
var arr=[3,5,11,3,5,67,8,4,14];
// sort中传递一个函数,每次函数会拿两个值进行比较
arr.sort(function (a,b) {
//第一次a是5 b是3
console.log(a);
return a-b //否则为正就是升序,也就是说如果返回值为正数则是升序
})
indexof和lastIndexOf方法
JavaScript中数组的indexof()和lastIndexOf()方法用于检测某个值是否在数组中出现,如果没有没有则返回-1,如果有则返回第一个检测到的下标,然后停止继续检测,indexof()由数组的前向后找,lastIndexOf()由数组的后面往前找,这两个方法都不会改变原数组。
一个参数的情况:
var arr=[1,3,5,7,6,34,23,6,6,6,3,6];
var num1=18;
var num2=6;
var num1=arr.indexOf(num1); //检测这个数组中是否有18这个数
var num2=arr.indexOf(num2); //检测这个数组中是否有6这个数
console.log(num1); //结果为:-1
console.log(num2); //结果为:4
两个参数的情况:
arr.indexOf(num1,5)中有两个参数,其中第一个参数num1则是需要检测的值,5则是检测的起始下标,,但是检测到的元素下标仍然是在原数组中的下标,不会改变。
var arr=[1,3,5,7,6,34,23,6,6,6,3,6];
var num1=6;
var isHas=arr.indexOf(num1,5);
console.log(isHas); //结果为:7
every和some方法
JavaScript中数组的every()方法用于检测数组的元素是否全都满足定义的条件,遇到一个元素不满足则返回false,并且停止遍历,并且every返回false,也就是一假即假。
some方法和every用法类似,只是some方法中只要有一个元素满足条件则返回true,也就是一真即真。
两个方法的参数都是一个函数,函数中有三个参数,item,index,arr,参数名可以自定义,但是建议使用以上三个参数名,其中第一个参数item表示数组中的元素值,第二个参数index表示元素的下标,第三个参数arr则表示原数组。这两个方法都不会改变原数组。
// 检测你得到的年龄是否有小于18岁,那么就进入未成年模式,否则提示进入成年模式
// some是一真即真
var arr=[18,18,19,18,21,23,22,25,26];
var isPerson=arr.some(function (item,index,arr) {
// 只要有一个返回真,则停止判断
return item<18
})
if (isPerson){
alert("未成年");
}else{
alert("成年");
}
filter方法
JavaScript中数组的filter()方法用于过滤元素,如果满足条件则将该元素添加到新的数组中并返回新的数组,该方法不会改变原数组。
var arr=[
{name:"jiaxing",age:19},
{name:"lipeihua",age:2},
{name:"laozhang",age:38},
{name:"laoliu",age:11},
{name:"laowang",age:58},
]
var newArr=arr.filter(function (item,index,arr) {
return item.age<18;
})
console.log(newArr);
forEach和map方法
forEach和map这两个方法都可以用于遍历数组,在默认情况下都不会改变原数组,可根据个人的需求使用这两种方法遍历的同时改变原数组。不同的是forEach没有返回值,map方法则是有返回值的,在默认情况下,也就是没有通过return语句定义返回数值时,每遍历一个则添加一个undefined到新数组中,并返回新的数组。
var arr=[18,18,19,18,21,23,22,25,26];
var mapReturn=arr.map(function (item,index,arr) {
// 对数组的每一项应用给定条件,返回新的数组
//map的返回值是一个新数组,每次循环进来都对每一项操作,然后需要return出去,就只给给到新数组对应的值了
return item+1;
})
数组常用方法
Document
请按F12
JS数组(every、some、filter、forEach、map、reverse、sort、indexOf、lastindexOf方法)
reverse方法
JavaScript中数组的reverse()方法用于将数组倒序输出,并且改变了原数组,并且返回的也是新数组。
var arr=["8",3,5,6,"a","s"];
var con=arr.reverse();
console.log(arr); //结果为:["s","a",6,5,8,3,8]
console.log(con); //结果为:["s","a",6,5,8,3,8]
sort方法
JavaScript中数组的sort()方法用于对数组进行排序,如果不写任何参数,sort是按照字符串排序的,也就是ascII码排序,sort方法会改变原数组,并且返回改变后的新数组。
var arr=[1,2,10,14,21,3];
var con=arr.sort();
console.log(arr); //结果为:[1,10,14,2,21,3]
console.log(con); //结果为:[1,10,14,2,21,3]
使用sort方法还可以让数组的元素按照数字的大小进行排序,此时sort方法中需要传入一个参数,并且是一个函数,函数有两个形参,a,b,其中a是数组的第二个元素,b是数组的第一个元素。
var arr=[3,5,11,3,5,67,8,4,14];
// sort中传递一个函数,每次函数会拿两个值进行比较
arr.sort(function (a,b) {
//第一次a是5 b是3
console.log(a);
return a-b //否则为正就是升序,也就是说如果返回值为正数则是升序
})
indexof和lastIndexOf方法
JavaScript中数组的indexof()和lastIndexOf()方法用于检测某个值是否在数组中出现,如果没有没有则返回-1,如果有则返回第一个检测到的下标,然后停止继续检测,indexof()由数组的前向后找,lastIndexOf()由数组的后面往前找,这两个方法都不会改变原数组。
一个参数的情况:
var arr=[1,3,5,7,6,34,23,6,6,6,3,6];
var num1=18;
var num2=6;
var num1=arr.indexOf(num1); //检测这个数组中是否有18这个数
var num2=arr.indexOf(num2); //检测这个数组中是否有6这个数
console.log(num1); //结果为:-1
console.log(num2); //结果为:4
两个参数的情况:
arr.indexOf(num1,5)中有两个参数,其中第一个参数num1则是需要检测的值,5则是检测的起始下标,,但是检测到的元素下标仍然是在原数组中的下标,不会改变。
var arr=[1,3,5,7,6,34,23,6,6,6,3,6];
var num1=6;
var isHas=arr.indexOf(num1,5);
console.log(isHas); //结果为:7
every和some方法
JavaScript中数组的every()方法用于检测数组的元素是否全都满足定义的条件,遇到一个元素不满足则返回false,并且停止遍历,并且every返回false,也就是一假即假。
some方法和every用法类似,只是some方法中只要有一个元素满足条件则返回true,也就是一真即真。
两个方法的参数都是一个函数,函数中有三个参数,item,index,arr,参数名可以自定义,但是建议使用以上三个参数名,其中第一个参数item表示数组中的元素值,第二个参数index表示元素的下标,第三个参数arr则表示原数组。这两个方法都不会改变原数组。
// 检测你得到的年龄是否有小于18岁,那么就进入未成年模式,否则提示进入成年模式
// some是一真即真
var arr=[18,18,19,18,21,23,22,25,26];
var isPerson=arr.some(function (item,index,arr) {
// 只要有一个返回真,则停止判断
return item<18
})
if (isPerson){
alert("未成年");
}else{
alert("成年");
}
filter方法
JavaScript中数组的filter()方法用于过滤元素,如果满足条件则将该元素添加到新的数组中并返回新的数组,该方法不会改变原数组。
var arr=[
{name:"jiaxing",age:19},
{name:"lipeihua",age:2},
{name:"laozhang",age:38},
{name:"laoliu",age:11},
{name:"laowang",age:58},
]
var newArr=arr.filter(function (item,index,arr) {
return item.age<18;
})
console.log(newArr);
forEach和map方法
forEach和map这两个方法都可以用于遍历数组,在默认情况下都不会改变原数组,可根据个人的需求使用这两种方法遍历的同时改变原数组。不同的是forEach没有返回值,map方法则是有返回值的,在默认情况下,也就是没有通过return语句定义返回数值时,每遍历一个则添加一个undefined到新数组中,并返回新的数组。
var arr=[18,18,19,18,21,23,22,25,26];
var mapReturn=arr.map(function (item,index,arr) {
// 对数组的每一项应用给定条件,返回新的数组
//map的返回值是一个新数组,每次循环进来都对每一项操作,然后需要return出去,就只给给到新数组对应的值了
return item+1;
})
数组常用方法
Document
请按F12

快乐的捷径一文由杰瑞文章网免费提供,本站为公益性作文网站,此作文为网上收集或网友提供,版权归原作者所有,如果侵犯了您的权益,请及时与我们联系,我们会立即删除!
杰瑞文章网友情提示:请不要直接抄作文用来交作业。你可以学习、借鉴、期待你写出更好的作文。
说说你对这篇作文的看法吧