JavaScript数组与字符串操作

JavaScript数组与字符串操作

JavaScript 数组操作方法

合并和连接
  • concat() : 合并两个或多个数组,返回新数组。

    javascript 复制代码
    const arr1 = [1, 2];
    const arr2 = [3, 4];
    const result = arr1.concat(arr2); // [1, 2, 3, 4]
查找元素
  • find() : 返回满足测试函数的第一个元素的值,找不到返回 undefined

    javascript 复制代码
    const arr = [1, 2, 3];
    const found = arr.find(element => element > 2); // 3
  • findIndex() : 返回满足测试函数的第一个元素的索引,找不到返回 -1

    javascript 复制代码
    const arr = [1, 2, 3];
    const index = arr.findIndex(element => element > 2); // 2
包含和索引
  • includes() : 判断数组是否包含指定值,返回 truefalse

    javascript 复制代码
    const arr = [1, 2, 3];
    const hasTwo = arr.includes(2); // true
  • indexOf() : 返回指定元素的第一个索引,找不到返回 -1

    javascript 复制代码
    const arr = [1, 2, 3];
    const index = arr.indexOf(2); // 1
转换和连接
  • join() : 将数组元素连接成一个字符串,默认用逗号分隔。

    javascript 复制代码
    const arr = [1, 2, 3];
    const str = arr.join('-'); // "1-2-3"
修改数组
  • pop() : 删除并返回数组最后一个元素,改变数组长度。

    javascript 复制代码
    const arr = [1, 2, 3];
    const last = arr.pop(); // 3, arr 变成 [1, 2]
  • push() : 添加一个或多个元素到数组末尾,返回新长度。

    javascript 复制代码
    const arr = [1, 2];
    const newLength = arr.push(3); // 3, arr 变成 [1, 2, 3]
  • shift() : 删除并返回数组第一个元素,改变数组长度。

    javascript 复制代码
    const arr = [1, 2, 3];
    const first = arr.shift(); // 1, arr 变成 [2, 3]
  • unshift() : 添加一个或多个元素到数组开头,返回新长度。

    javascript 复制代码
    const arr = [2, 3];
    const newLength = arr.unshift(1); // 3, arr 变成 [1, 2, 3]
  • splice() : 通过删除或替换元素来修改数组,返回被删除的元素。

    javascript 复制代码
    const arr = [1, 2, 3, 4];
    const removed = arr.splice(1, 2); // [2, 3], arr 变成 [1, 4]
反转和排序
  • reverse() : 反转数组元素顺序,改变原数组。

    javascript 复制代码
    const arr = [1, 2, 3];
    arr.reverse(); // [3, 2, 1]
  • sort() : 排序数组元素,默认按UTF-16代码单元值排序,改变原数组。

    javascript 复制代码
    const arr = [3, 1, 2];
    arr.sort(); // [1, 2, 3]

JavaScript 数组遍历方法

1. every()

every() 方法测试数组内的所有元素是否都能通过某个指定函数的测试。返回一个布尔值。

javascript 复制代码
const arr = [1, 2, 3, 4];
const allEven = arr.every(num => num % 2 === 0); // false
2. filter()

filter() 方法创建一个新数组,包含所有通过所提供函数实现的测试的元素。

javascript 复制代码
const arr = [1, 2, 3, 4];
const evenNumbers = arr.filter(num => num % 2 === 0); // [2, 4]
3. forEach()

forEach() 方法对数组的每个元素执行一次提供的函数。

javascript 复制代码
const arr = [1, 2, 3, 4];
arr.forEach(num => console.log(num)); // 1, 2, 3, 4
4. some()

some() 方法测试是否至少有一个元素通过所提供的函数。返回一个布尔值。

javascript 复制代码
const arr = [1, 2, 3, 4];
const hasEven = arr.some(num => num % 2 === 0); // true

JavaScript 字符串方法

1. charAt()

charAt() 方法返回指定索引位置的字符。

javascript 复制代码
const str = "Hello";
const char = str.charAt(1); // "e"
2. concat()

concat() 方法将一个或多个字符串与原字符串连接,返回新字符串。

javascript 复制代码
const str1 = "Hello";
const str2 = "World";
const result = str1.concat(" ", str2); // "Hello World"
3. includes()

includes() 方法判断一个字符串是否包含另一个字符串,返回 truefalse

javascript 复制代码
const str = "Hello World";
const hasHello = str.includes("Hello"); // true
4. indexOf()

indexOf() 方法返回指定值在字符串中第一次出现的位置,未找到返回 -1

javascript 复制代码
const str = "Hello World";
const index = str.indexOf("World"); // 6
5. match()

match() 方法检索字符串并返回匹配正则表达式的结果。

javascript 复制代码
const str = "Hello 123";
const result = str.match(/\d+/); // ["123"]
6. padStart()

padStart() 方法用另一个字符串填充当前字符串(从左侧开始),直到达到给定长度。

javascript 复制代码
const str = "5";
const padded = str.padStart(2, '0'); // "05"
7. replace()

replace() 方法返回一个新字符串,其中某些模式(字符串或正则表达式)被替换。

javascript 复制代码
const str = "Hello World";
const newStr = str.replace("World", "Everyone"); // "Hello Everyone"
8. slice()

slice() 方法提取字符串的一部分,并返回一个新的字符串。

javascript 复制代码
const str = "Hello World";
const sliced = str.slice(0, 5); // "Hello"
9. split()

split() 方法使用指定的分隔符将字符串分割成数组。

javascript 复制代码
const str = "Hello World";
const arr = str.split(" "); // ["Hello", "World"]
10. substr()

substr() 方法返回字符串中从指定位置开始到指定字符数的字符。

javascript 复制代码
const str = "Hello World";
const sub = str.substr(0, 5); // "Hello"
11. trim()

trim() 方法去除字符串两端的空白字符。

javascript 复制代码
const str = "  Hello World  ";
const trimmed = str.trim(); // "Hello World"
相关推荐
老华带你飞5 分钟前
公寓管理系统|SprinBoot+vue夕阳红公寓管理系统(源码+数据库+文档)
java·前端·javascript·数据库·vue.js·spring boot·课程设计
yttandb12 分钟前
重生到现代之从零开始的C语言生活》—— 内存的存储
c语言·开发语言·生活
我明天再来学Web渗透16 分钟前
【hot100-java】【二叉树的层序遍历】
java·开发语言·数据库·sql·算法·排序算法
结衣结衣.30 分钟前
python中的函数介绍
java·c语言·开发语言·前端·笔记·python·学习
茫茫人海一粒沙33 分钟前
Python 代码编写规范
开发语言·python
原野心存33 分钟前
java基础进阶知识点汇总(1)
java·开发语言
程序猿阿伟35 分钟前
《C++高效图形用户界面(GUI)开发:探索与实践》
开发语言·c++
qbbmnnnnnn35 分钟前
【WebGis开发 - Cesium】如何确保Cesium场景加载完毕
前端·javascript·vue.js·gis·cesium·webgis·三维可视化开发
暗恋 懒羊羊43 分钟前
Linux 生产者消费者模型
linux·开发语言·ubuntu
五味香1 小时前
C++学习,信号处理
android·c语言·开发语言·c++·学习·算法·信号处理