javaScript基础学习记录篇-2
数组迭代
1.Array.forEach()
示例:
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
document.getElementById("demo").innerHTML = txt;
function myFunction(value, index, array) {
txt = txt + value + "<br>";
}
2.Array.map()
map() 方法通过对每个数组元素执行函数来创建新数组。
map() 方法不会对没有值的数组元素执行函数。
map() 方法不会更改原始数组。
示例:
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
document.getElementById("demo").innerHTML = numbers2;
function myFunction(value, index, array) {
return value * 2;
}
3.Array.filter()
filter() 方法创建一个包含通过测试的数组元素的新数组。(就是一个过滤器的感觉)
示例:
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
document.getElementById("demo").innerHTML = over18;
function myFunction(value, index, array) {
return value > 18;
}
4.Array.reduce()
reduce() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduce() 方法在数组中从左到右工作。另请参见 reduceRight()。
reduce() 方法不会减少原始数组。
示例:
var numbers = [45, 4, 9, 16, 25];
var sum = numbers.reduce(myFunction);
document.getElementById("demo").innerHTML = "总和是:" + sum;
function myFunction(total, value, index, array) {
return total + value;
}
5.Array.reduceRight() 和 reduce()感觉相同
reduceRight() 方法在每个数组元素上运行函数,以生成(减少它)单个值。
reduceRight() 方法在数组中从左到右工作。另请参见 reduce()。
reduceRight() 方法不会减少原始数组。
6.Array.every() 一个是all
every() 方法检查所有数组值是否通过测试,返回true,false
示例:
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
document.getElementById("demo").innerHTML = "所有大于 18 的是:" + allOver18;
function myFunction(value, index, array) {
return value > 18;
}
7. Array.some()一个是||
some() 方法检查某些数组值是否通过了测试。
示例相同就不做展示
8.Array.indexOf()
indexOf() 方法在数组中搜索元素值并返回其位置。
array.indexOf(item,start)
item必需。要检索的项目。
start可选。从哪里开始搜索。负值将从结尾开始的给定位置开始,并搜索到结尾。
示例:
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
document.getElementById("demo").innerHTML = "Apple 被找到的位置是:" + (a + 1);
9.Array.lastIndexOf()
Array.lastIndexOf() 与 Array.indexOf() 类似,但是从数组结尾开始搜索。
array.lastIndexOf(item,start)
item必需。要检索的项目。
start可选。从哪里开始搜索。负值将从结尾开始的给定位置开始,并搜索到开头。
10.Array.find()
find() 方法返回通过测试函数的第一个数组元素的值。
示例:
var numbers = [4, 9, 16, 25, 29];
var first = numbers.find(myFunction);
document.getElementById("demo").innerHTML = "大于 18 的第一个值是:" + first;
function myFunction(value, index, array) {
return value > 18;
}
11.Array.findIndex()
findIndex() 方法返回通过测试函数的第一个数组元素的索引。
示例相同不做展示