JavaScript数组各种常见用法实例分析
1. 定义数组
可以通过声明数组字面量来定义一个数组:
var numbers = [0,1,2,3,4,5,6,7,8,9];
也可以通过Array()构造函数来定义一个数组:
var numbers = new Array(0,1,2,3,4,5,6,7,8,9);
2. 数组的长度
length
属性可以获取一个数组的长度:
console.log(numbers.length); // 10
3. 数组的遍历
(1)for循环
可以使用for
循环遍历一个数组:
for (var i = 0; i < numbers.length; i++) {
console.log(numbers[i]);
}
(2)for...in循环
也可以使用for...in
循环来遍历一个数组:
for (var index in numbers) {
console.log(numbers[index]);
}
但是,使用for...in
循环遍历数组时需要注意,它会将数组的索引转换为字符串,因此可能会遍历到一些非数组元素,所以一般不推荐使用。
(3)forEach()方法
还可以使用数组的forEach()
方法来遍历一个数组:
numbers.forEach(function(value) {
console.log(value);
});
这个方法会接受一个函数作为参数,这个函数会在数组的每个元素上被调用一次,函数的参数就是当前遍历到的元素。
4. 数组的迭代方法
(1)map()方法
map()
方法可以遍历数组中的所有元素,并对每个元素执行一个函数,将执行的结果以新数组的形式返回。例如,我们可以对一个数组中的每个元素都乘以2,并将结果保存在一个新数组中:
var doubledNumbers = numbers.map(function(value) {
return value * 2;
});
console.log(doubledNumbers); // [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
(2)filter()方法
filter()
方法用来筛选出符合条件的数组元素,并将它们以新数组的形式返回。例如,我们可以将一个数组中所有的偶数筛选出来:
var evenNumbers = numbers.filter(function(value) {
return value % 2 === 0;
});
console.log(evenNumbers); // [0, 2, 4, 6, 8]
(3)reduce()方法
reduce()
方法用来将数组中的元素归并为一个值。例如,我们可以通过reduce()
方法来计算一个数组中所有元素的和:
var sum = numbers.reduce(function(total, value) {
return total + value;
});
console.log(sum); // 45
5. 数组的排序
(1)sort()方法
sort()
方法可以将一个数组按照一定的规则排序,例如将数组中的元素按照从小到大的顺序排序:
numbers.sort(function(a, b) {
return a - b;
});
console.log(numbers); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
(2)reverse()方法
reverse()
方法可以将一个数组中的元素反转:
numbers.reverse();
console.log(numbers); // [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
示例说明
示例1:计算数组平均值
var scores = [90, 80, 85, 75, 95];
var sum = scores.reduce(function(total, value) {
return total + value;
});
var average = sum / scores.length;
console.log(average); // 85
这段代码中,我们定义了一个包含5个元素的数组scores
,然后使用reduce()
方法将这个数组中的元素求和,并除以数组长度来计算平均值。
示例2:查找最大值和最小值
var numbers = [3, 6, 2, 5, 8, 1, 9, 4, 7];
var max = numbers.reduce(function(a, b) {
return Math.max(a, b);
});
var min = numbers.reduce(function(a, b) {
return Math.min(a, b);
});
console.log(max, min); // 9 1
这段代码中,我们定义了一个包含9个元素的数组numbers
,然后使用reduce()
方法和Math.max()
、Math.min()
函数分别计算这个数组中的最大值和最小值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript数组各种常见用法实例分析 - Python技术站