javascript 用字符串和数字打印数组的元素[关闭]

amrnrhlw  于 2023-04-28  发布在  Java
关注(0)|答案(2)|浏览(101)

已关闭,此问题需要更focused。目前不接受答复。
**想改善这个问题吗?**更新问题,使其仅通过editing this post关注一个问题。

昨天关门了。
Improve this question
数组包含多个元素。我需要打印字符串和数字数组的元素与每个元素。
例如输入

['1a', 'a', '2b', 'b']

输出应为New array ['1a', '2b']

fdbelqdn

fdbelqdn1#

最简单的答案是,我想:

// the initial Array:
let input = ['1a', 'a', '2b', 'b'],
  // using Array.prototype.filter() to filter that initial Array,
  // retaining only those for whom the Arrow function returns
  // true (or truthy) values:
  result = input.filter(
    // the Arrow function passes a reference to the current
    // Array-element to the function body; in which we
    // use RegExp.test() to check if the current Array-element
    // ('entry') is matched by the regular expression:
    // /.../ : regular expression literal,
    // \d: matches a single number in base-10 (0-9),
    // [a-zA-Z]: matches a single character in the range
    // of a-z or A-Z (so lowercase or uppercase):
    (entry) => (/\d[a-zA-Z]/).test(entry));

console.log(result);

当然,还有一些改进,例如:

`/^\d{1,2}[a-z]+$/i`,
  • /.../正则表达式文本,
  • ^:序列从字符串的开头开始,
  • \d{1,2}:一个基数为10的数字字符,最少出现1次,最多出现2次(显然数字可以根据您的具体需要进行修改),
  • [a-z]+:(小写)a-z范围内的字符,出现一次或多次,
  • $:字符串的结尾,
  • ii标志指定不区分大小写的搜索。

参考文献:

zlwx9yxi

zlwx9yxi2#

要解决这个问题,可以使用正则表达式来匹配以数字开头的元素,然后用这些匹配的元素创建一个新数组。试着看看这段代码是否适合你。

const arr = ['1a', 'a', '2b', 'b'];
const regex = /^[0-9]+/; // regular expression to match numbers at start of string
const result = arr.filter((item) => regex.test(item));

console.log(result); // prints ['1a', '2b']
console.log(result); // prints ['1a', '2b']

相关问题