gpt4 book ai didi

javascript - split() js 最后一个数组项

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:02 25 4
gpt4 key购买 nike

我是网络开发新手,尤其是 JS。

我正在对这个字符串使用 String 对象方法拆分:

let str = 'Look at me '; //last character is space
console.log(str.split(' '));

split 的分隔符是 ' ' 和空格。我希望有一个包含 3 个项目的数组,并且我了解 split 是如何工作的。但是,我得到了这个:

['Look', 'at', 'me', '']

有人可以向我解释为什么会这样吗?提前致谢!

最佳答案

ECMA-262 指定 how split() is implemented在 JavaScript 中。

这本书很难读,但这是我对它的解读......

第 14 步指定 split() 总是通过将切片抓取到字符串结束的位置来结束:

  1. Let T be a String value equal to the substring of S consisting of the characters at positions p (inclusive) through s (exclusive).

然后将该切片添加到输出数组中:

  1. Call the [[DefineOwnProperty]] internal method of A with arguments ToString(lengthA), Property Descriptor {[[Value]]: T, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.

请记住,split() 的参数是一个定界符(也称为分隔符)。

"ABC".split("B")"B" 视为分隔符,分隔子字符串 "A"“C”

"ABC".split("C")"C" 视为分隔符,分隔子字符串 "AB"“”。是的,空字符串仍然是一个字符串,因此 "C" 将子字符串 "AB" 与子字符串 "" 分开。

您的示例是相同的,除了 "C" 之外,您有一个空格字符 ""。空格在任何方面都不是特殊的,因此适用相同的规则:它将前面的子字符串与后面的子字符串(恰好为空)分开。

关于javascript - split() js 最后一个数组项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42211193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com