JavaScript数组各种常见用法实例分析

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技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • JavaScript数组方法-系统性总结详解

    JavaScript数组方法-系统性总结详解 概述 数组(Array)是JavaScript中最常用、最重要的一种数据类型,而且在实际开发中,我们也经常需要对数组进行各种操作,比如查询、增加、删除、排序等等。JavaScript提供了很多数组方法,让我们能够方便快捷的对数组进行各种操作,使得开发变得更加高效。本篇文章旨在对JavaScript数组方法进行系统…

    JavaScript 2023年5月18日
    00
  • JavaScript前端实用的工具函数封装

    一、目标本篇攻略旨在帮助Javascript前端开发者快速了解常用的工具函数的封装,并学会自行编写及封装工具函数。 二、介绍工具函数封装指的是将常用的功能代码封装成一个个可复用的函数,以便于代码重用、整合和维护。虽然功能代码可能并不复杂,但通过工具函数的封装,可以减少代码冗余,提高代码的可读性、可扩展性和可维护性。参考以上目标,我们可以将工具函数的封装分为以…

    JavaScript 2023年6月11日
    00
  • JavaScript的深拷贝与浅拷贝

    一句话来解释什么是深浅拷贝,B拷贝A,当修改A,B如果变化,就是浅拷贝,反之就是深拷贝。 基本原理: 1.递归函数2.对象内的值都是简单数据类型时 直接进行赋值3.当我们遇到数组和对象时,可以再次调用函数,利用递归去拷贝数组和对象内的每个值4.先数组 后对象  因为数组也是对象  下面是一个实现深拷贝的函数: 1 function deepClone(obj…

    JavaScript 2023年4月18日
    00
  • 深入理解javascript函数参数与闭包

    针对“深入理解JavaScript函数参数与闭包”的攻略,我会先介绍一下函数参数的概念以及它们的类型和用法,然后再进行闭包的详细讲解和示例说明。 一、函数参数 函数参数是在函数定义时声明的,用于接受传递给函数的值。JavaScript中函数参数有两种类型:形式参数和实际参数。 1.1 形参和实参 函数定义时,使用括号包裹形参,形参不需要具体的值,其只是一个占…

    JavaScript 2023年5月27日
    00
  • Webpack devServer中的 proxy 实现跨域的解决

    下面是关于Webpack devServer中的proxy实现跨域的详细攻略。 什么是跨域 跨域是指在浏览器中运行的脚本(通常指JavaScript脚本)试图访问一个不同源(协议、域名、端口号不同)的页面所产生的限制。由于同源策略的限制,JavaScript通常只能访问与包含它的页面位于同一域名下的资源。 解决跨域的方法 通常情况下,跨域的解决方法可以归纳为…

    JavaScript 2023年6月11日
    00
  • 15个简单的JS编码标准让你的代码更整洁(小结)

    15个简单的JS编码标准让你的代码更整洁(小结) 本文为大家整理了15个简单的javascript编码标准,帮助开发人员写出更加干净整洁的代码,提高可维护性和可读性。 1. 使用=== 比较运算符 使用=== 比较运算符可以避免类型不同比较混淆和类型自动转换的问题。 2. 使用const 或 let, 不使用 var 使用 const 或 let 比 var…

    JavaScript 2023年5月18日
    00
  • 遍历js中对象的属性和值的实例

    遍历JS对象的属性和值,通常采用两种方式:for…in循环和Object.keys()方法。 for…in循环 for循环可以遍历对象中所有可枚举的属性,并且对每一项执行指定的操作。 const obj = { name: "Tom", age: 18, gender: "male" }; for (let k…

    JavaScript 2023年5月27日
    00
  • ajax和jsonp跨域的原理本质详解

    针对“Ajax和JSONP跨域的原理本质”这一话题,我准备了以下的完整攻略。 一、同源策略 同源策略,是一种安全策略,它限制了一个源(域名、协议、端口)下的文档或脚本如何能与另一个源(域名、协议、端口)下的资源进行交互。 二、JSONP 跨域 JSONP是一种跨域的技术手段,发起JSONP请求时,服务器端返回指定格式的数据,并在响应中将需要返回的数据作为参数…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部