js Array的用法总结

yizhihongxing

JS Array的用法总结

简介

Javascript中的Array是一种有序数据类型,可以用来存储任何类型的数据,包括数字、字符串、甚至对象等。

声明与初始化

可以使用以下两种方式来声明和初始化一个数组:

直接声明并赋值

var arr = [1, 2, 3];

使用Array()构造函数

var arr = new Array(1, 2, 3);

注意,使用Array()构造函数时,可以传入任意数量的参数。

除此之外,还可以使用Array.from()方法从一个可迭代对象中创建一个数组。

常用方法

以下是JS数组中一些常见的方法:

push()

push()方法用于在数组的末尾添加一个或多个元素。

var arr = [1, 2, 3];
arr.push(4);
console.log(arr); // 输出: [1, 2, 3, 4]

pop()

pop()方法用于删除数组中的最后一个元素,并返回该元素。如果数组为空,则返回undefined。

var arr = [1, 2, 3];
var last = arr.pop();
console.log(last); // 输出: 3
console.log(arr); // 输出: [1, 2]

shift()

shift()方法用于删除数组中的第一个元素,并返回该元素。如果数组为空,则返回undefined。

var arr = [1, 2, 3];
var first = arr.shift();
console.log(first); // 输出: 1
console.log(arr); // 输出: [2, 3]

unshift()

unshift()方法用于在数组的开头添加一个或多个元素。

var arr = [1, 2, 3];
arr.unshift(0);
console.log(arr); // 输出: [0, 1, 2, 3]

slice()

slice()方法用于从数组中选取一个子数组,并将其作为新数组返回。可以传入两个参数,分别为起始位置和结束位置。

var arr = [1, 2, 3, 4, 5];
var subArr = arr.slice(1, 3);
console.log(subArr); // 输出: [2, 3]

splice()

splice()方法用于删除数组中的一些元素,并用新的元素替换它们。可以传入三个参数,分别为起始位置、删除的数量和被插入的新元素。

var arr = [1, 2, 3, 4, 5];
arr.splice(1, 2, "a", "b", "c");
console.log(arr); // 输出: [1, "a", "b", "c", 4, 5]

forEach()

forEach()方法用于对数组中的每个元素执行给定的函数。

var arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index) {
  console.log("第" + (index+1) + "个元素是:" + item);
});
// 输出:
// 第1个元素是:1
// 第2个元素是:2
// 第3个元素是:3
// 第4个元素是:4
// 第5个元素是:5

注意,在使用forEach()方法时,可以传入两个参数,分别为当前元素和当前元素的索引。

filter()

filter()方法用于筛选数组中的元素,并将符合条件的元素作为一个新数组返回。可以传入一个判断函数作为参数。

var arr = [1, 2, 3, 4, 5];
var newArr = arr.filter(function(item) {
  return item % 2 == 0;
});
console.log(newArr); // 输出: [2, 4]

map()

map()方法用于对数组中的每个元素执行一个函数,并将执行的结果作为一个新数组返回。可以传入一个转换函数作为参数。

var arr = [1, 2, 3, 4, 5];
var newArr = arr.map(function(item) {
  return item * item;
});
console.log(newArr); // 输出: [1, 4, 9, 16, 25]

示例

以下是两个使用JS数组的示例:

1. 从一个列表中选取所有的链接

<ul id="links">
  <li><a href="#">链接1</a></li>
  <li><a href="#">链接2</a></li>
  <li><a href="#">链接3</a></li>
  <li><a href="#">链接4</a></li>
</ul>
<script>
var linksArr = Array.from(document.querySelectorAll("#links a")).map(function(a) {
  return a.href;
});
console.log(linksArr);
</script>

上述代码使用了Array.from()方法和querySelectorAll()方法来获取所有链接,并通过map()方法将链接转化为它们的href属性值,最终得到了一个包含所有链接的数组。

2. 统计一个文本中出现最多的单词

var text = "Hello world, hello World, hEllO WORLD. 123.";
var arr = text.toLowerCase().match(/\b\w+\b/g);
var countMap = arr.reduce(function(obj, item) {
  obj[item] = (obj[item] || 0) + 1;
  return obj;
}, {});
var maxCount = 0;
var maxWord;
for(var word in countMap) {
  if(countMap[word] > maxCount) {
    maxCount = countMap[word];
    maxWord = word;
  }
}
console.log("最多出现的单词是:" + maxWord + ",出现了" + maxCount + "次。");

上述代码将一个文本转化为了一个单词数组,并使用reduce()方法来统计出每个单词出现的数量。最后,通过遍历countMap来找到数量最多的单词,然后输出它的数量和出现次数。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js Array的用法总结 - Python技术站

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

相关文章

  • javascript 事件对象 坐标事件说明

    “javascript 事件对象 坐标事件说明”是一个非常重要的主题,它关乎到网页中处理与用户的鼠标或者键盘交互相关的操作。在这个主题中,可以学习到如何获取事件对象,以及如何处理不同类型的坐标事件,例如鼠标的点击、移动或者键盘的按下事件等等。下面我们一起来详细讲解一下这个主题。 获取事件对象 在JavaScript中,处理事件需要获取事件对象,然后通过事件对…

    JavaScript 2023年6月10日
    00
  • 详解JavaScript基本类型和引用类型

    详解JavaScript基本类型和引用类型 基本类型 JavaScript 中的基本类型指的是简单的数据类型。它们在赋值时被直接存储在变量访问的位置。JavaScript 有 6 种基本类型:Number、String、Boolean、null、undefined 和 Symbol。 Number Number 是一种表示数字的基本类型,它包括整数和浮点数。…

    JavaScript 2023年5月28日
    00
  • JS中 new Date() 各方法的用法说明

    下面是JS中new Date()各方法的用法说明的攻略: Date对象 Date对象是JS中内置的一个对象,用来操作时间和日期。我们可以通过new Date()构造函数来创建一个Date对象。接下来我们就来详细地讲解一下Date对象中各方法的用法说明。 Date的构造函数 在使用Date对象时,我们可以通过构造函数 new Date() 来创建日期对象。该构…

    JavaScript 2023年5月27日
    00
  • JS多线程API webworker应用场景有哪些

    JS多线程API webworker应用场景有哪些 什么是Web Worker Web Worker是 HTML5 提供的一种 JavaScript 多线程解决方案,能够在后台运行脚本, 与当前网页的 UI 进行异步通信,在不干扰当前网页的情况下执行复杂的 JavaScript 代码。 Web Worker的应用场景 Web Worker非常适合运行复杂且耗…

    JavaScript 2023年5月28日
    00
  • threejs全景图和锚点编辑的实现方案

    让我来为您详细讲解“threejs全景图和锚点编辑的实现方案”吧。 前言 在讲解实现方案前,需要了解一下全景图和锚点的基本概念。 什么是全景图? 全景图是一种圆形或球形的图像,可以通过鼠标或手指的滑动来改变视角,从而可以在360度范围内观察场景中的所有细节,给人带来身临其境的感觉。 什么是锚点? 锚点是指在全景图中设置的一个或多个可点击的点,当用户点击锚点时…

    JavaScript 2023年6月11日
    00
  • javascript实现校验文件上传控件实例

    先来介绍一下如何实现文件上传控件的校验。 1. HTML中的上传控件 首先需要在HTML中使用<input>标签创建一个文件上传控件。 <input type="file" id="upload-file"> 上述代码创建了一个id为upload-file的文件上传控件。 2. JS中监听上传控…

    JavaScript 2023年5月27日
    00
  • json数据处理技巧(字段带空格、增加字段、排序等等)

    JSON数据处理技巧 JSON是一种轻量的数据交换格式,在我们日常的开发中,经常会用到JSON。但是有时候会遇到一些问题,例如字段带空格、需要增加字段、需要排序等等。这篇文章将介绍一些JSON数据处理的技巧。 字段带空格的问题 JSON中的字段不能包含空格,如果字段名中有空格,就需要使用引号将字段名括起来,例如: { "first name&quo…

    JavaScript 2023年5月27日
    00
  • 老生常谈ES6中的类

    ES6中的类是JavaScript语言中的一种新的语法糖,它提供了一种更加优雅的面向对象的编程方式,让JavaScript变得更加易读、易维护。在ES6之前,我们在JavaScript中实现继承是通过原型链来实现的。但是这种方式缺少了一个明确的语法结构,不够直观,而且容易出现错误。ES6中引入了类的概念,让我们能够更加方便、清晰地定义类和继承关系。下面我将详…

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