js Array的用法总结

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日

相关文章

  • react结合typescript 封装组件实例详解

    下面是 “react结合typescript 封装组件实例详解”的完整攻略。 一、为什么要使用TypeScript TypeScript 是 JavaScript 的一个超集,它可以为 JavaScript 提供类型检查和其他一些新特性。TypeScript 具有以下优点: 代码更加健壮,更容易维护。 更好的智能提示和 IDE 支持。 更容易对代码进行重构。…

    JavaScript 2023年6月10日
    00
  • Javascript 函数的四种调用模式

    Javascript 函数可以通过四种不同的方式进行调用,每种调用方式都有对应的特点和使用场景,下面详细介绍一下这四种调用模式。 1. 函数调用模式 函数调用模式是最简单的调用方式,也是最常见的方式。我们可以直接调用一个函数,例如: function greet(name) { console.log(‘Hello, ‘ + name); } greet(‘…

    JavaScript 2023年5月27日
    00
  • JS防抖和节流实例解析

    JS防抖和节流实例解析 什么是防抖和节流? 在介绍防抖和节流实例前,我们先了解一下这两个概念。防抖和节流都是为了解决高频触发某个函数而导致资源占用过多的问题。 防抖:指触发事件后在n秒内函数只执行一次,如果n秒内再次触发事件,则会重新计算函数的执行时间。 节流:指连续触发事件但是在n秒内只执行一次函数,所以节流会稀释函数的执行频率。 防抖的例子 搜索框实时搜…

    JavaScript 2023年6月11日
    00
  • 前端JavaScript算法找出只出现一次的数字

    前端JavaScript算法找出只出现一次的数字攻略如下: 第一步:理解题意 在开始编写算法之前,首先需要明确题意。题目要求我们在给定的数组中找到只出现一次的数字。 第二步:暴力解法 最简单的方法是使用双重循环遍历数组,对于每个数字,计算它在数组中出现的次数,然后检查该数字是否只出现了一次。代码示例如下: function findSingleNumber(…

    JavaScript 2023年5月28日
    00
  • js日历控件(可精确到分钟)

    首先介绍一下JS日历控件的基础要素: HTML结构 <input type="text" id="input-time" name="time" placeholder="选择时间" readonly> CSS样式 这里我们采用了Bootstrap的样式,如果你没有引…

    JavaScript 2023年5月27日
    00
  • 通过正则表达式实现表单验证是否为中文

    下面我将详细讲解通过正则表达式实现表单验证是否为中文的完整攻略。 步骤一:编写正则表达式 中文字符的 unicode 编码范围为 \u4e00-\u9fa5,因此我们可以使用这个范围来编写正则表达式,在输入框中输入/[\u4e00-\u9fa5]/即可完成验证是否为中文。 步骤二:根据正则表达式验证表单 在 Javascript 中,我们可以使用 test(…

    JavaScript 2023年6月10日
    00
  • 使用Javascript在HTML中显示实时时间

    下面是如何使用Javascript在HTML中显示实时时间的完整攻略: 1. 在HTML中创建一个用于显示时间的元素 首先,在HTML中创建一个<span>元素,用于显示实时时间。 <p>现在的时间是:<span id="time"></span>.</p> 在这里,我们使用了一…

    JavaScript 2023年5月27日
    00
  • 揭开iOS逆向解密的神秘面纱

    揭开iOS逆向解密的神秘面纱攻略 背景 iOS逆向解密是指通过对iOS应用进行逆向工程分析,获取应用的源代码、关键算法、加密算法等信息的过程。这种技术在黑客攻击、应用安全测试等领域有很大的应用。本篇攻略将介绍iOS逆向解密的基本流程和一些实用技巧。 步骤 iOS逆向解密的基本步骤包括以下几个方面: 准备逆向工具 IDA Pro(逆向分析工具) Hopper(…

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