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"
相关推荐
JAVA9654 分钟前
JAVA面试-并发篇 09-LockSupport 和 waitnotify 的区别
java·开发语言·面试
程序员小羊!13 分钟前
07Java IO 流
java·开发语言
ZC跨境爬虫13 分钟前
跟着 MDN 学JavaScript day_10:数组——数据的有序集合
android·java·开发语言·前端·javascript
IT龟苓膏20 分钟前
Java 集合进阶:ConcurrentHashMap、HashSet、LinkedHashMap、TreeMap 和 fail-fast 一篇讲清
java·开发语言·jvm
晓131321 分钟前
【Cocos Creator 2.x】篇——第五章 游戏常用关键技术
前端·javascript·vue.js·游戏引擎
李白的天不白21 分钟前
config/WebMvcConfig.java
开发语言·python
caimouse33 分钟前
Reactos 第 5 章 进程与线程 — 5.3 系统调用 NtCreateProcess()
服务器·开发语言
ch.ju38 分钟前
Java程序设计(第3版)第四章——继承的调用
java·开发语言
W_LuYi1851 小时前
Tauri + Rust + Vue 3 打造极速轻量桌面应用
java·开发语言·vue.js·rust
少司府1 小时前
C++进阶:红黑树
开发语言·数据结构·c++·b树·二叉树·红黑树