javascript-MDN学习笔记-Array部分

2024-06-04 04:58

本文主要是介绍javascript-MDN学习笔记-Array部分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


创建一个数组

var fruits = ["Apple", "Banana"];console.log(fruits.length);
// 2

通过索引访问数组元素

var first = fruits[0];
// Applevar last = fruits[fruits.length - 1];
// Banana

遍历一个数组

fruits.forEach(function (item, index, array) {console.log(item, index);
});
// Apple 0
// Banana 1

添加元素到数组的末尾

var newLength = fruits.push("Orange");
// ["Apple", "Banana", "Orange"]

删除数组末尾的元素

var last = fruits.pop(); // remove Orange (from the end)
// ["Apple", "Banana"];

删除数组最前面(头部)的元素

var first = fruits.shift(); // remove Apple from the front
// ["Banana"];

添加到数组的前面(头部)

var newLength = fruits.unshift("Strawberry") // add to the front
// ["Strawberry", "Banana"];

添加到数组的后边 (尾部)

fruits.push("Mango");
// ["Strawberry", "Banana", "Mango"]

找到某个元素在数组中的索引

var pos = fruits.indexOf("Banana");
// 1

通过索引删除某个元素

var removedItem = fruits.splice(pos, 1); // this is how to remove an item
// ["Strawberry", "Mango"]

复制一个数组

var shallowCopy = fruits.slice(); // this is how to make a copy
// ["Strawberry", "Mango"]
----------------------------------------------------------------------------------------------------------------------------------------

var years = [1950, 1960, 1970, 1980, 1990, 2000, 2010];
years['2'] 可以代替 years[2],不过这不是必需的。

在 years[2] 中,2会被Javascript 引擎自动调用 toString 转换成一个 string 类型的变量。

正因为如此,'2' 和 '02' 在years 对象中将会指向不同的位置。但是2和02是一样的。

console.log(years['2'] != years['02']);返回true
console.log(years[2]==years[02]);返回true

补充:

1、JavaScript 中数字开头的属性不能跟在点号后面
renderer['3d'].setTexture(model, 'character.png');

2、想要使用保留字作为对象的属性名称的,只能通过以单引号包裹其字符串的形式访问

var promise = {'var'  : 'text','array': [1, 2, 3, 4]
};

----------------------------------------------------------------------------------------------------------------------------------------

Mutator 方法

下面的这些方法会改变调用它们的对象自身的值:(9个)

Array.prototype.copyWithin() 
在数组内部,将一段元素序列拷贝到另一段元素序列上,覆盖原有的值。
Array.prototype.fill() 
将数组中指定区间的所有元素的值,都替换成某个固定的值。
Array.prototype.pop()
删除数组的最后一个元素,并 返回这个元素。
Array.prototype.push()
在数组的末尾增加一个或多个元素,并 返回数组的新长度。
Array.prototype.reverse()
颠倒数组中元素的排列顺序,即原先的第一个变为最后一个,原先的最后一个变为第一个。
Array.prototype.shift()
删除数组的第一个元素,并 返回这个元素。
Array.prototype.sort()
对数组元素进行排序,并 返回当前数组。
Array.prototype.splice():三个参数,第一个指定起始位置,第二个指定删除个数(0即不删除),第三个参数既要添加的数组
在任意的位置给数组添加或删除任意个元素。
Array.prototype.unshift()
在数组的开头增加一个或多个元素,并 返回数组的新长度。
Accessor 方法(9个)

下面的这些方法绝对不会改变调用它们的对象的值,只会返回一个新的数组或者返回一个其它的期望值。

Array.prototype.concat()
返回一个由当前数组和其它若干个数组或者若干个非数组值组合而成的新数组。
Array.prototype.includes()  
判断当前数组是否包含某指定的值,如果是返回  true,否则返回  false
Array.prototype.join()
连接所有数组元素组成一个字符串。
Array.prototype.slice()
抽取当前数组中的一段元素组合成一个新数组。
Array.prototype.toSource() 
返回一个表示当前数组字面量的字符串。遮蔽了原型链上的  Object.prototype.toSource() 方法。
Array.prototype.toString()
返回一个由所有数组元素组合而成的字符串。遮蔽了原型链上的  Object.prototype.toString()方法。
Array.prototype.toLocaleString()
返回一个由所有数组元素组合而成的本地化后的字符串。遮蔽了原型链上的  Object.prototype.toLocaleString() 方法。
Array.prototype.indexOf()
返回数组中第一个与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。
Array.prototype.lastIndexOf()
返回数组中最后一个(从右边数第一个)与指定值相等的元素的索引,如果找不到这样的元素,则返回 -1。

Iteration 方法

在下面的众多遍历方法中,有很多方法都需要指定一个回调函数作为参数。在回调函数执行之前,数组的长度会被缓存在某个地方,所以,如果你在回调函数中为当前数组添加了新的元素,那么那些新添加的元素是不会被遍历到的。此外,如果在回调函数中对当前数组进行了其它修改,比如改变某个元素的值或者删掉某个元素,那么随后的遍历操作可能会受到未预期的影响。总之,不要尝试在遍历过程中对原数组进行任何修改,虽然规范对这样的操作进行了详细的定义,但为了可读性和可维护性,请不要这样做。

Array.prototype.forEach():返回undefined
为数组中的每个元素执行一次回调函数。
Array.prototype.entries() 
返回一个数组迭代器对象,该迭代器会包含所有数组元素的键值对。
Array.prototype.every()
如果数组中的每个元素都满足测试函数,则 返回 true,否则返回 false。
Array.prototype.some()
如果数组中至少有一个元素满足测试函数,则返回 true,否则返回 false。
Array.prototype.filter()
将所有在过滤函数中 返回 true 的数组元素放进一个新数组中并返回。
Array.prototype.find() 
找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回  undefined
Array.prototype.findIndex() 
找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回  -1
Array.prototype.keys() 
返回一个数组迭代器对象,该迭代器会包含所有数组元素的键。
Array.prototype.map(): 注意,如果此数组的元素不满足回调函数,则新函数此位置为undefined!!!!
返回一个由回调函数的返回值组成的新数组。
Array.prototype.reduce()
从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
Array.prototype.reduceRight()
从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
Array.prototype.values() 
返回一个数组迭代器对象,该迭代器会包含所有数组元素的值。
Array.prototype[@@iterator]() 
和上面的  values() 方法是同一个函数。

----------------------------------------------------------------------------------------------------------------------------------------

Array.prototype

所有的数组实例都继承于 Array.prototype
Array.prototype 本身也是个数组。

属性

Array.prototype.constructor
所有的数组实例都继承了这个属性,它的值就是 Array,表明了所有的数组都是由 Array 构造出来的。
Array.prototype.length
上面说了,因为 Array.prototype 也是个数组,所以它也有 length 属性,这个值为 0,因为它是个空数组。

Array.length

你可以通过减小  length 属性的值来截短一个数组,但不能通过增大 length 属性的值来延长这个数组













这篇关于javascript-MDN学习笔记-Array部分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1029121

相关文章

如何合理使用Spring的事务方式

《如何合理使用Spring的事务方式》:本文主要介绍如何合理使用Spring的事务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、底层构造1.1.事务管理器1.2.事务定义信息1.3.事务状态1.4.联系1.2、特点1.3、原理2. Sprin

springboot+vue项目怎么解决跨域问题详解

《springboot+vue项目怎么解决跨域问题详解》:本文主要介绍springboot+vue项目怎么解决跨域问题的相关资料,包括前端代理、后端全局配置CORS、注解配置和Nginx反向代理,... 目录1. 前端代理(开发环境推荐)2. 后端全局配置 CORS(生产环境推荐)3. 后端注解配置(按接口

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

Java应用如何防止恶意文件上传

《Java应用如何防止恶意文件上传》恶意文件上传可能导致服务器被入侵,数据泄露甚至服务瘫痪,因此我们必须采取全面且有效的防范措施来保护Java应用的安全,下面我们就来看看具体的实现方法吧... 目录恶意文件上传的潜在风险常见的恶意文件上传手段防范恶意文件上传的关键策略严格验证文件类型检查文件内容控制文件存储

浅析Java如何保护敏感数据

《浅析Java如何保护敏感数据》在当今数字化时代,数据安全成为了软件开发中至关重要的课题,本文将深入探讨Java安全领域,聚焦于敏感数据保护的策略与实践,感兴趣的小伙伴可以了解下... 目录一、Java 安全的重要性二、敏感数据加密技术(一)对称加密(二)非对称加密三、敏感数据的访问控制(一)基于角色的访问

Java计算经纬度距离的示例代码

《Java计算经纬度距离的示例代码》在Java中计算两个经纬度之间的距离,可以使用多种方法(代码示例均返回米为单位),文中整理了常用的5种方法,感兴趣的小伙伴可以了解一下... 目录1. Haversine公式(中等精度,推荐通用场景)2. 球面余弦定理(简单但精度较低)3. Vincenty公式(高精度,

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Java实现视频格式转换的完整指南

《Java实现视频格式转换的完整指南》在Java中实现视频格式的转换,通常需要借助第三方工具或库,因为视频的编解码操作复杂且性能需求较高,以下是实现视频格式转换的常用方法和步骤,需要的朋友可以参考下... 目录核心思路方法一:通过调用 FFmpeg 命令步骤示例代码说明优点方法二:使用 Jaffree(FF

Java实现图片淡入淡出效果

《Java实现图片淡入淡出效果》在现代图形用户界面和游戏开发中,**图片淡入淡出(FadeIn/Out)**是一种常见且实用的视觉过渡效果,它可以用于启动画面、场景切换、轮播图、提示框弹出等场景,通过... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细

Java如何用乘号来重复字符串的功能

《Java如何用乘号来重复字符串的功能》:本文主要介绍Java使用乘号来重复字符串的功能,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java乘号来重复字符串的功能1、利用循环2、使用StringBuilder3、采用 Java 11 引入的String.rep