紧接上回咱们接着唠,想了解上篇主页查找
6.位置⽅法
()
indexOf() ⽅法可返回数组中某个指定的元素位置。
该⽅法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的 位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到 ⼀个 item,则返回 item 的第⼀次出现的位置。开始位置的索引为 0。 如果在数组中没找到指定元素则返回 -1。
语法 (item,start)
参数 | 描述 |
item | 必须。查找的元素。 |
start | 可选的整数参数。开始检索的位置。它的取值是 0 - 1。如省略该参数,则将从 字符串的⾸字符开始检索。 |
返回值为 元素在数组中的位置,如果没有搜索到则返回 -1。
查找数组中的 "Apple" 元素:
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = ("Apple");
//a结果输出:2
//以上输出结果意味着 "Apple" 元素位于数组中的第 3 个位置。
()
lastIndexOf() ⽅法可返回⼀个指定的元素在数组中最后出现的位置,从 该字符串的后⾯向前查找。 如果要检索的元素没有出现,则该⽅法返回 -1。
该⽅法将从尾到头地检索数组中指定元素 item。开始检索的位置在数组 的 start 处或数组的结尾(没有指定 start 参数时)。如果找到⼀个 item,则返回 item 从尾向前检索第⼀个次出现在数组的位置。数组的 索引开始位置是从 0 开始的。
如果在数组中没找到指定元素则返回 -1。
语法 : (item,start)
var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = ("Apple");
//a输出结果:2
//以上实例输出结果意味着 "Apple" 位于数组中的第 2 个位置.
返回值为 元素在数组中的位置(和indexof不同是如果有多个返回最后一个的数组位置),如果没有搜索到则返回 -1。
7.迭代⽅法
()
every() ⽅法⽤于检测数组所有元素是否都符合指定条件(通过函数提 供)。
every() ⽅法使⽤指定函数检测数组中的所有元素: 如果数组中检测到有⼀个元素不满⾜,则整个表达式返回 false , 且剩余的元素不会再进⾏检测。 如果所有元素都满⾜条件,则返回 true。
注意: every() 不会对空数组进⾏检测。 every() 不会改变原始数组。
语法 (function(currentValue,index,arr), thisValue)
参数 | 描述 |
function(currentValue, index,arr) | 必须。函数,数组中的每个元素都会执⾏ 这个函数 |
thisValue | 可选。对象作为该执⾏回调时使⽤,传递 给函数,⽤作 "this" 的值。 如果省略了 thisValue ,"this" 的值为 "undefined" |
currentValue | 必须。当前元素的值 |
index | 可选。当前元素的索引值 |
arr | 可选。当前元素属于的数组对象 |
返回值 布尔值,如果所有元素都通过检测返回 true,否则返回 false。
检测数组 ages 的所有元素是否都⼤于等于 18 :
var ages = [32, 33, 16, 40];
var result = (function (age) {
return age >= 18
})
(result);//输出结果为:false
()
some() ⽅法⽤于检测数组中的元素是否满⾜指定条件(函数提供)。
some() ⽅法会依次执⾏数组的每个元素: 如果有⼀个元素满⾜条件,则表达式返回true , 剩余的元素不会再 执⾏检测。 如果没有满⾜条件的元素,则返回false。
注意: some() 不会对空数组进⾏检测。
注意: some() 不会改变原始数组。
语法 (function(currentValue,index,arr),thisValue)
布尔值。如果数组中有元素满⾜条件返回 true,否则返回 false。
检测数组中是否有元素⼤于 18:
var ages = [32, 33, 16, 40];
var result = (function (age) {
return age >= 18
})
(result);//输出结果为:true
()
filter() ⽅法创建⼀个新的数组,新数组中的元素是通过检查指定数组中 符合条件的所有元素。
注意: filter() 不会对空数组进⾏检测。
注意: filter() 不会改变原始数组。
语法 (function(currentValue,index,arr), thisValue)
返回值 返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返 回空数组。
返回数组 ages 中所有元素都⼤于 18 的元素:
var ages = [32, 33, 16, 40];
var result = (function (age) {
return age >= 18
})
(result);//输出结果为:[ 32, 33, 40 ]
()
map() ⽅法返回⼀个新数组,数组中的元素为原始数组元素调⽤函数处 理后的值。
map() ⽅法按照原始数组元素顺序依次处理元素。
注意: map() 不会对空数组进⾏检测。
注意: map() 不会改变原始数组。
语法 (function(currentValue,index,arr), thisValue)
返回值 返回⼀个新数组,数组中的元素为原始数组元素调⽤函数处理后的值。
返回⼀个数组,数组中元素为原始数组的平⽅根:
var numbers = [4, 9, 16, 25];
var result = (function (number) {
return (number)
})
(result);//输出结果为:[ 2, 3, 4, 5 ]
()
forEach() ⽅法⽤于调⽤数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执⾏回调函数的。
语法 (function(currentValue, index, arr), thisValue)
返回值 undefined
列出数组的每个元素:
var numbers = [4, 9, 16, 25];
(function (number, index) {
(index + ' -- ' + number);
})
// 0 -- 4
// 1 -- 9
// 2 -- 16
// 3 -- 25