如何拼接数组 Javascript 中的特定字母?

How to Splice specific Letter From Arrays Javascript?

有没有办法使用拼接法从数组中删除特定字符?或与此相关的任何其他方法。我想删除下面数字后面的字母 'W'。谢谢你的时间!我能得到的最好的办法是删除整个部分,即“9W”,而不是只剩下“9”

   const sales = filteredProducts.map(function(product) {
    return {
        lastSaleSize: product.market.lastSaleSize,
        lastSale: product.market.lastSale,

      }
})
console.log(sales)

const newArr = sales.map((prev) => {
  const {
    lastSaleSize
  } = prev;
  const newLastSaleSize = lastSaleSize.match(/(.+?)W/, 'g')[1];
  const newElement = { ...prev,
    lastSaleSize: newLastSaleSize
  };
  return newElement;
});

console.log(newArr);



sales = 
0: {lastSaleSize: "9W", lastSale: 185}
1: {lastSaleSize: "8.5W", lastSale: 190}
2: {lastSaleSize: "11W", lastSale: 182}
3: {lastSaleSize: "9.5W", lastSale: 170}
4: {lastSaleSize: "9W", lastSale: 185}
5: {lastSaleSize: "7W", lastSale: 185}
6: {lastSaleSize: "8W", lastSale: 174}

您可以使用 javascript 的拼接方法删除最后一个字符,您的情况是 "W"。如果字符在您的字符串中看起来是随机的,您应该使用正则表达式。

let str = "9W";
str = str.slice(0, -1); 
console.log(str);

您需要的是 map 函数,它迭代一个数组和 returns 一个新的(计算的)值来代替每个原始数组的元素:

const arr = [
  {lastSaleSize: "9W", lastSale: 172},
  {lastSaleSize: "8.5W", lastSale: 190},
  {lastSaleSize: "11W", lastSale: 182},
  {lastSaleSize: "9.5W", lastSale: 170},
  {lastSaleSize: "7W", lastSale: 185},
  {lastSaleSize: "8W", lastSale: 174},
  {lastSaleSize: "10W", lastSale: 189},
  {lastSaleSize: "12W", lastSale: 185},
];

// You can use other methods, obviously
function removeW(string) {
  return string.match(/(.+?)W/)[1];
}

const newArr = arr.map((prevElement) => {
  const { lastSaleSize } = prevElement; // Get the lastSaleSize value for the current element
  const newLastSaleSize = removeW(lastSaleSize);
  
  // Now generate the new Element, without the 'W'
  const newElement = {
    ...prevElement,
    lastSaleSize: newLastSaleSize,
  };
  return newElement;
});

console.log(newArr);