拆分和加入如何在JavaScript中运行?

时间:2016-09-27 22:06:24

标签: javascript jquery

但仍然不明白:因为在输入框中最初没有数据,但是当用户开始输入时,函数开始调用其中的方法,但第一行将[$(this).val()。split( " - "。)加入("&#34);然后将查找连字符分裂为...但是好像用户dosent键入的数据包含任何连字符,所以必须替换... ???像你上面解释的那样,在" a-b-c"上拆分(" - ")会给[" a"," b"," c"] ....这些数据已经包含连字符,并被我们的字符替换在括号中指定。另一方面,我也不明白这一点:foo = foo.match(新的RegExp('。{1,4}'' g'))。join(&# 34; - &#34); ,为什么RegExp中有单引号,1,4代表什么... ???到目前为止,我知道它必须是最少1和最多4个charachters ..?你能帮我理解这个吗????感谢您的帮助

3 个答案:

答案 0 :(得分:5)

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

这样做是因为它读取了值,因为它似乎是一个信用卡号,所以该值将类似于1234-5678-9012-3456

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

然后使用""(实际上没有)加入此列表,从而生成1234567890123456,不带连字符的数字。

可以实现同样的目标

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

使用正则表达式。

希望这能澄清一些事情!

答案 1 :(得分:0)

$(this).val()

获取元素的值:

.split("-")

构建一个分组' - '(连字符)的字符串数组。基本上,当你在字符串中找到' - '时,将其添加到'foo-bar'变为['foo','bar']。

.join("");

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

答案 2 :(得分:0)

拆分并合并成一行

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

console.log(result)
7' 83"