你能描述一下这个JavaScript函数`parseField`的作用吗?

时间:2017-03-09 02:17:21

标签: javascript

function parseField(field) {
  return field
    .split(/\[|\]/)
    .filter(function(s){ return s });
}

我用它来解析我的表单字段。 然后像这样使用它:

var required = function(field){
  field = parseField(field);
  // do something
};

它做了什么,它是如何工作的?

2 个答案:

答案 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的数组。