亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【JS三兄弟誰(shuí)是誰(shuí)】搞懂 splice、slice、split,只需一杯奶茶的時(shí)間!

freeflydom
2025年7月11日 10:47 本文熱度 985

JavaScript 有三兄弟,經(jīng)常一起“切人”。
他們名字相似、功能相關(guān),但性格迥異,常被搞混。
今天,就帶你喝著奶茶,笑著剖析,幫你徹底搞懂:
splice、slicesplit 到底是誰(shuí)?干了啥?憑啥這么火?


?? 一、三兄弟登場(chǎng):不同對(duì)象,不同任務(wù)

名稱作用對(duì)象是否修改原對(duì)象返回類型功能簡(jiǎn)述
splice數(shù)組? 是被刪除元素?cái)?shù)組原地刪除元素并可插入新元素
slice數(shù)組 / 字符串? 否副本(子集)復(fù)制選中部分,原體不動(dòng)
split字符串? 否數(shù)組按分隔符拆分成字符串?dāng)?shù)組


?? 三兄弟性格畫像:

  • splice:動(dòng)刀硬漢,“你讓我切,我就直接改了,還能塞新料”
  • slice:溫柔攝影師,“我只是幫你剪一塊,別擔(dān)心,我不動(dòng)本體”
  • split:爆破專家,“給我個(gè)分隔符,我讓字符串四分五裂”

?? 二、splice —— 原數(shù)組的“改造師”

?? 語(yǔ)法:

array.splice(start, deleteCount, item1, item2, ...)

?? 參數(shù)說(shuō)明

參數(shù)說(shuō)明
start操作起始索引(可負(fù)數(shù),表示從尾部開(kāi)始)
deleteCount要?jiǎng)h除的元素?cái)?shù)量
item1...要插入的新元素(可選)

?? 作用細(xì)節(jié)

  • 刪除 deleteCount 個(gè)元素
  • 插入 itemX 元素(可選)
  • 原地修改原數(shù)組
  • 返回被刪除的元素組成的數(shù)組

?? 示例

let arr = ['??', '??', '??', '??'];
let res = arr.splice(1, 2, '??', '??');
console.log(arr); // ['??', '??', '??', '??']
console.log(res); // ['??', '??']

?? 實(shí)現(xiàn)邏輯簡(jiǎn)析(偽代碼)

function splice(arr, start, deleteCount, ...items) {
  const deleted = arr.slice(start, start + deleteCount); // 先復(fù)制要?jiǎng)h除部分
  const before = arr.slice(0, start);
  const after = arr.slice(start + deleteCount);
  arr.length = 0;
  arr.push(...before, ...items, ...after); // 原地重構(gòu)數(shù)組
  return deleted;
}

?? 注意點(diǎn)

  • start 超出范圍時(shí)會(huì)被限制在數(shù)組末尾
  • deleteCount 超出實(shí)際刪除范圍不會(huì)報(bào)錯(cuò)
  • 可以只刪除不插入,或只插入不刪除(deleteCount 為 0)

?? 三、slice —— 不動(dòng)聲色的“復(fù)制專家”

?? 語(yǔ)法

array.slice(start, end)
string.slice(start, end)

半開(kāi)區(qū)間 [start, end),取從 start 到 end(不含)的部分。

?? 參數(shù)說(shuō)明

參數(shù)說(shuō)明
start起始索引(可為負(fù)數(shù))
end結(jié)束索引(可省略)

?? 示例

let fruits = ['??', '??', '??', '??'];
let res = fruits.slice(1, 3);
console.log(res);      // ['??', '??']
console.log(fruits);   // ['??', '??', '??', '??']  原數(shù)組未改動(dòng)

?? 實(shí)現(xiàn)簡(jiǎn)析

function slice(arr, start, end) {
  const result = [];
  start = normalizeIndex(start, arr.length);
  end = normalizeIndex(end ?? arr.length, arr.length);
  for (let i = start; i < end; i++) {
    result.push(arr[i]);
  }
  return result;
}

也可用于字符串,返回子串。


?? 四、split —— 字符串的“爆破能手”

?? 語(yǔ)法

string.split(separator, limit)

?? 參數(shù)說(shuō)明

參數(shù)說(shuō)明
separator分隔符(字符串或正則表達(dá)式)
limit最多返回元素個(gè)數(shù)(可選)

?? 示例

let str = "你/我/他/她";
let parts = str.split('/');
console.log(parts); // ['你', '我', '他', '她']
let limited = str.split('/', 2);
console.log(limited); // ['你', '我']

?? 使用小技巧

  • str.split('') 把字符串拆成單字?jǐn)?shù)組
  • 正則表達(dá)式支持復(fù)雜拆分,如空白、標(biāo)點(diǎn)等

?? 簡(jiǎn)化模擬

function split(str, sep, limit) {
  let parts = str.split(sep);
  return parts.slice(0, limit ?? parts.length);
}

?? 五、終極口訣:一秒?yún)^(qū)分三兄弟

?? 記住這句:

  • Splice 改數(shù)組,一刀兩斷再塞新
  • Slice 拷貝段,半開(kāi)區(qū)間不傷真
  • Split 拆字符串,按符爆破成碎銀

?? 加個(gè)數(shù)字口訣:

  • 5 分裂(split)
  • 6 切片(slice)
  • 7 動(dòng)刀(splice)

?? 字母聯(lián)想:

  • sp 是“拼割”的信號(hào),
  • 多一個(gè) p(splice)意味著“拼接”,
  • 少一個(gè) p(slice)意味著“切片”,
  • 結(jié)尾 lit(split)像“炸裂”。

?? 六、常見(jiàn)誤區(qū)與注意點(diǎn)

  1. slice 不改原數(shù)組,splice 會(huì)
  2. split 的參數(shù)是分隔符,不是索引
  3. splice 返回被刪元素?cái)?shù)組,而非新數(shù)組
  4. slice 可用于字符串,splice 僅限數(shù)組

?? 七、面試加餐題

let arr = ['a', 'b', 'c', 'd'];
let res = arr.splice(1, 2).slice(0, 1).join().split('');
console.log(res);

步驟解析:

  1. arr.splice(1, 2) 刪除 'b''c',返回 ['b', 'c']
  2. .slice(0,1) 取第一項(xiàng) ['b']
  3. .join() 轉(zhuǎn)成字符串 'b'
  4. .split('') 拆成數(shù)組 ['b']

? 輸出:['b']


?? 八、終章總結(jié)表

方法操作對(duì)象返回類型是否改原對(duì)象功能簡(jiǎn)述
splice數(shù)組數(shù)組? 是刪除 / 插入 / 替換
slice數(shù)組 / 字符串子集? 否復(fù)制指定范圍
split字符串數(shù)組? 否拆成多個(gè)子字符串


?? 寫在最后

JS 三兄弟雖長(zhǎng)得相似,但性格鮮明。
掌握他們,你就擁有了三把強(qiáng)力的“切割刀”:

  • 動(dòng)刀重塑的 splice
  • 溫柔取片的 slice
  • 震懾爆裂的 split

下次使用時(shí),不怕混淆,輕松辨別,寫出干凈利落的代碼!

?轉(zhuǎn)自https://juejin.cn/post/7524602914515517483


該文章在 2025/7/11 10:47:22 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved