拆分和连接在JavaScript中是如何工作的

How does split and join work in JavaScript?

本文关键字:何工作 工作 连接 JavaScript 拆分      更新时间:2023-09-26

但是仍然不明白:在输入框中最初没有数据,但是当用户开始输入时,函数开始调用其中的方法,然而第一行将[$(this).val().split("-").join(");]将查找要分割成…的连字符。但是,如果用户键入的数据不包含任何连字符,那么必须替换什么…??像你解释以上如分裂("-")"a - b - c"("a"、"b"、"c")……该数据已经包含连字符,并将其替换为我们在括号中指定的字符。另一方面,我也不明白这一点:foo = foo。(新RegExp匹配('。{1, 4} ', ' g ')) . join("-");为什么在RegExp中有单引号,为什么1,4代表…??据我所知,它必须是指最小1和最大4个字符…?你能帮我理解一下吗??感谢您的帮助

函数调用从左到右求值。首先是val(),然后是split("-"),然后是join("")

所做的是,它读取值,因为它似乎是一个信用卡号码,值将是类似1234-5678-9012-3456的东西。

下一件事是用split("-")分割连字符处的数字。这将产生一种列表['1234', '5678', '9012', '3456']

然后使用""(实际上没有)将该列表连接起来,从而得到1234567890123456,即没有连字符的数字。

也可以达到同样的效果

$(this).val().replace(/-/g, "")

使用正则表达式

希望这澄清的东西!

$(this).val()

获取元素的值:

.split("-")

构建以'-'(连字符)分隔的字符串数组。基本上,当你在字符串中找到'-'时,将它添加到i.e.。'foo-bar'变成['foo', 'bar']。

.join("");

取数组并将每个元素用空字符串连接在一起,即['foo', 'bar']变成'foobar'

分隔并连成一行

const result = "7.83".split('.').reduce((first, second) => `${first}' ${second}"`)
console.log(result)
7' 83"