Как склеить специфику c Letter From Arrays Javascript? - PullRequest
1 голос
/ 08 апреля 2020

Есть ли способ удалить указанный c символ из массивов, используя метод соединения? или любой другой метод в этом отношении. Я хочу удалить букву «W», которая прикреплена к цифрам ниже. Спасибо за ваше время! Лучшее, что я мог получить, - это удалить всю деталь, то есть «9 Вт», а не просто оставить «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}

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Вам нужна функция map, которая выполняет итерацию массива и возвращает новое (вычисленное) значение вместо каждого из элементов исходного массива:

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);
0 голосов
/ 08 апреля 2020

Вы можете использовать метод сплайсинга javascript, чтобы удалить последний символ в вашем случае, это "W". если в вашей строке символ окажется случайным, используйте регулярное выражение.

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