function parseField(field) {
return field
.split(/\[|\]/)
.filter(function(s){ return s });
}
我用它来解析我的表单字段。 然后像这样使用它:
var required = function(field){
field = parseField(field);
// do something
};
它做了什么,它是如何工作的?
答案 0 :(得分:2)
parseField
接受一个字符串,将其拆分为左或右方括号([
或]
)之间所有子串的列表,然后返回该列表中的所有元素至少有一个字符(基本上不包括空字符串""
)。
/\[|\]/
上拆分就像是说"拆分 [
和]
" array.filter(s => s)
将返回一个新数组,省略强制转换为布尔值false
时的任何元素。在JavaScript中只有少数值可以执行此操作,并且唯一具有此行为的类型字符串是空字符串(""
)。
function parseField (field) { // accept a string `field`
return field
.split(/\[|\]/) // splits `field` into an array of strings between each `[` or `]`
.filter(function(s){ return s }) // keep each string only if it is truthy (not empty)
}
console.log(parseField('[stuff][thing]')) //=> ['stuff', 'thing']
console.log(parseField('[]')) //=> []

答案 1 :(得分:1)
它将您正在解析的变量拆分为/\[|\]/
中出现值的函数,然后将每个被拆分的部分拆分为数组中的单独元素。
示例强>
您将x[y/lol
的值传递给您的函数 - 它将返回值为xylol
的数组。