javascript 数组的常用方法、dom操作、js数据结构处理

文章介绍了JavaScript中数组的常用方法,如push、pop、filter、map等,以及DOM操作,如getElementById、addEventListener。同时,概述了基本数据结构如栈、队列和二叉树的操作,并提到了ES6的let、const、箭头函数和Promise等新特性。
摘要由CSDN通过智能技术生成

数组的常用方法

JavaScript 中的数组是一种可以容纳多个元素的数据结构。为了方便操作数组,JavaScript 内置了许多与数组相关的方法,这些方法主要包括以下几个方面:

增加或删除元素

  • push: 向数组的末尾添加一个或多个元素,并返回新数组的长度。
  • pop: 从数组的末尾删除一个元素,并返回该元素的值。
  • unshift: 向数组的开头添加一个或多个元素,并返回新数组的长度。
  • shift: 从数组的开头删除一个元素,并返回该元素的值。
  • splice: 在指定位置添加、删除或替换元素。
arr.splice(startIndex, deleteCount, item1, item2, ...)
// 其中,startIndex 表示要操作的起始位置,deleteCount 表示要删除的个数,item1、item2 等表示要添加的元素。

数组合并和拆分

  • concat: 将两个或多个数组合并成一个新数组,原数组不会被修改。
  • join: 将数组中的所有元素连接成一个新字符串。
  • slice: 返回一个新的数组对象,即从原数组中截取一部分元素作为新数组返回,不会修改原数组。
arr.slice(startIndex, endIndex)
// 其中,startIndex 表示起始位置(包含在内),endIndex 表示结束位置(不包含在内)。

数组筛选和变形

  • filter: 返回一个新数组,该数组中的元素是原数组中满足条件的元素。
  • map: 返回一个新数组,该数组中的元素是原数组中每个元素经过处理后的结果。
  • reduce: 对数组中的所有元素执行指定操作,最终返回一个结果。
arr.reduce((accumulator, currentValue, currentIndex, array) => {
  // ...
}, initialValue)
// 其中,accumulator 表示累加器的初始值,currentValue 表示当前元素的值,currentIndex 表示当前元素的索引,array 表示原数组,initialValue 表示累加器的起始值(可选参数)。

数组排序和查找

  • sort: 对数组进行排序,默认按照字符串的 Unicode 编码顺序进行排序。
  • reverse: 反转数组的顺序。
  • indexOf: 返回数组中指定元素的第一个索引,如果未找到则返回 -1。
  • lastIndexOf: 返回数组中指定元素的最后一个索引,如果未找到则返回 -1。

还有其他方法,这里只列举了一些常用方法,可以根据实际需要选择使用。

原生dom操作

在 JavaScript 中,可以使用原生的 DOM API 操作 HTML 文档中的元素。以下是常见的原生 DOM 操作:

获取元素

  • document.getElementById(id):根据元素的 ID 获取该元素。
  • document.getElementsByClassName(className):根据元素的类名获取所有匹配元素的一个 NodeList 对象。
  • document.getElementsByTagName(tagName):根据标签名获取所有匹配元素的一个 NodeList 对象。
  • document.querySelector(selector):根据 CSS 选择器获取匹配的第一个元素。
  • document.querySelectorAll(selector):根据 CSS 选择器获取所有匹配元素的一个 NodeList 对象。

操作元素属性

  • element.getAttribute(name):获取指定元素的指定属性值。
  • element.setAttribute(name, value):设置指定元素的指定属性为指定的值。
  • element.removeAttribute(name):删除指定元素的指定属性。
  • element.classList:获取元素的类名列表,可用于添加、删除或切换类名。

操作元素内容

  • element.innerHTML:获取或设置元素内的 HTML 内容。
  • element.innerText:获取或设置元素内的文本内容。
  • element.textContent:获取或设置元素内的纯文本内容。

操控元素样式

  • element.style.property:获取或设置元素的某个样式属性。
  • element.className:获取或设置元素的类名,可用于添加、删除或切换类名。

操作元素事件

  • element.addEventListener(event, function):为元素添加事件监听器。
  • element.removeEventListener(event, function):从元素移除事件监听器。

创建或删除元素

  • document.createElement(tagName):创建指定标签名的元素节点。
  • element.appendChild(node):将指定节点添加为当前节点的最后一个子节点。
  • element.insertBefore(node, referenceNode):在当前节点的子节点列表中,将指定节点插入到指定参考节点之前。
  • element.removeChild(node):将指定节点从当前节点的子节点列表中删除。

以上是一些常见的原生 DOM 操作,可以根据具体的需求选择使用哪些方法。需要注意的是,在操作 DOM 时应当尽可能避免直接操作 innerHTML,以防止 XSS 攻击。建议使用其他 API 进行操作。

js数据结构处理

JavaScript 中常用的数据结构包括数组、对象、栈、队列、链表、二叉树等。以下是一些常见的数据结构及其处理方法:

数组(Array)

  • push():在数组的末尾添加一个或多个元素。
  • pop():删除并返回数组的最后一个元素。
  • unshift():在数组的开头添加一个或多个元素。
  • shift():删除并返回数组的第一个元素。
  • splice():在指定位置删除、插入或替换元素。
  • slice():截取数组的一部分作为新数组返回。

对象(Object)

  • 属性访问器:使用.或[]来访问和修改对象的属性值。
  • for…in 循环:遍历对象的可枚举属性。
  • Object.keys(obj) / Object.values(obj):返回对象的所有键或所有值。
  • Object.assign(target, source1, source2, …):将一个或多个对象的属性拷贝到目标对象中。

栈(Stack)

  • push():将元素压入栈。
  • pop():从栈顶弹出并返回元素。
  • peek():查看栈顶元素。

队列(Queue)

  • enqueue():将元素加入队列。
  • dequeue():从队列头部移除并返回元素。
  • peek():查看队列头部元素。

链表(Linked List)

  • 添加节点:创建一个节点对象,设置节点值,然后将该节点连接到链表中。
  • 删除节点:找到需要删除的节点,将该节点的前一个节点的 next 属性指向该节点的 next 属性。

二叉树(Binary Tree)

  • 深度优先搜索(DFS):使用递归或栈实现。
  • 广度优先搜索(BFS):使用队列实现。

以上是一些常见的数据结构及其处理方法,可以根据需要选择合适的数据结构以及相应的处理方法。

ES6常用语法

ES6(ES2015)是 ECMAScript 的第六个版本,带来了许多新的语言特性和改进。以下是一些 ES6 中比较常用的语法和功能:

let 和 const

  • let:用于定义块级作用域变量。
  • const:用于定义块级作用域常量。

解构赋值

  • 数组解构赋值:将数组中的元素赋值给多个变量。
  • 对象解构赋值:将对象中的属性赋值给同名变量。

箭头函数

  • 简化函数定义:使用箭头函数可以省略 function 关键字和大括号。
  • 改变 this 指向:箭头函数中的 this 始终指向其外层作用域的 this。

模板字符串

  • 可以在字符串中插入变量。
  • 可以使用多行字符串。

扩展运算符

  • 可以在字符串中插入变量。
  • 可以使用多行字符串。

扩展运算符

  • 可以将数组或对象展开为独立的元素。
  • 可以将多个参数合并为一个数组。
  • 可以复制一个数组或对象。

Promise

  • 用于异步编程,解决回调地狱问题。
  • 可以链式调用,更加便于处理异步任务。

类和继承

  • 使用 class 关键字定义类。
  • 使用 extends 关键字实现继承。

模块化

  • 使用 import 和 export 关键字进行模块化导入和导出。

以上是一些 ES6 中比较常用的语法和功能,可以根据具体的需求选择使用哪些特性。ES6 中还有许多其他的新特性,如迭代器、生成器、Set 和 Map 数据结构等,在实际开发中也很有用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值