首页 > 解决方案 > 如何格式化过滤的字符串并返回格式化的值?香草 JS 循环

问题描述

我有数组:

   link https://api/v1/3
   link https://api/v1/3/user-data
   link https://api/v1/3/customer-data
   link https://api/v1/3/suppliers-sup

我是过滤器数组:

 let res = val.match(/.*\/(.*)/)[1];

第二种过滤方式:

const result = links.reduce((acc, {href: link}) => {
  const last = link.split('/').pop();
  if (!(last == Number(last))) acc.push(last);
  return acc;
}, []);

现在的结果是:

[
  "user-data",
  "customer-data",
  "suppliers-sup"
]

第一种逻辑方式是使用“3”项,但目前不重要。

我需要的 ?过滤结果为:

[
  "User data",
  "Customer data",
  "Suppliers sup"
]

第一个字母大并删除“-”并应用空格

标签: javascript

解决方案


您可以像这样格式化数据:

// Sample Data
const data = [
  "user-data",
  "customer-data",
  "suppliers-sup"
]

const formattedData = data.map(item => {
  // Seperate words into an array
  let dataItems = item.split("-")

  // Capitalize first letter of each word
  dataItems = dataItems.map(word => word.charAt(0).toUpperCase() + word.slice(1))

  // Join the words back together
  return dataItems.join(" ")
})

推荐阅读