ยังไงจะลดการตารางคู่ลำดับของวัตถุของ stringed ราคา

0

คำถาม

var groceries = [
  {
    id: 1,
    product: 'Olive Oil',
    price: '$' + 12.1
  },
  {
    id: 2,
    product: 'Tomato Soup',
    price: '$' + 3.48
  },
  {
    id: 3,
    product: 'Cheesecake',
    price: '$' + 17.36
  },
  {
    id: 4,
    product: 'Sirloin Steak',
    price: '$' + 14.8
  },
  {
    id: 5,
    product: 'Brie Cheese',
    price: '$' + 23.28
  }
];

var sum = _.reduce(products, function (total, price) {
    return total + price;
  }, 0);

ฉันไม่แน่ใจว่าจะลบ'$'จากราคาก่อนที่เราเริ่มทำการเพิ่มค่านะ ฉันพยายามอย่างดีที่สุดที่จะมองหากันอทางแก้ปัญหานั่นที่นี่(ฉัน)แต่มันดูเหมือนจะเป็นเพียงตัวอย่างอยู่ไหน"ราคา"เป็นเพียงตัวเลข

ขอโทษถ้าเรื่องนี้คล้ายกันปัญหาอยู่แล้วถูกโพสมาจากที่อื่นแต่เป็นยังได้เรียนรู้วิธีที่จะนำมายังที่นี่และผมก็เลยต้องหาสถานการณ์ที่คล้ายกันเว้นแต่ว่ามีใครบางคนสามารถประเด็นฉันมัน!

integer javascript reduce string
2021-11-23 08:38:50
2

คำตอบที่ดีที่สุด

0

นี่ผมเคยใช้จาวาสคริปต์เป็นค่าปริยายฟังก์ชัน reduce สำหรับที่ cumulative มซำมั้ย

var groceries = [
  {
    id: 1,
    product: 'Olive Oil',
    price: '$' + 12.1
  },
  {
    id: 2,
    product: 'Tomato Soup',
    price: '$' + 3.48
  },
  {
    id: 3,
    product: 'Cheesecake',
    price: '$' + 17.36
  },
  {
    id: 4,
    product: 'Sirloin Steak',
    price: '$' + 14.8
  },
  {
    id: 5,
    product: 'Brie Cheese',
    price: '$' + 23.28
  }
];

//reduce((total, currentIteratedValue) => {}, initialCumulativeValue)
//Initially we take sum as 0
const sum = groceries.reduce(function (currentTotal, obj) {
  var price = parseFloat(obj.price.slice(1));
  if (!isNaN(price)) return currentTotal + price;  
  return currentTotal;
}, 0);


console.log(sum)

2021-11-23 09:52:50

มันได้ผล! ขอบคุณมาก ฉันเป็นเรื่องเข้าใจผิดที่ iterator ส่วน..
kon
0

เข้ารหัสระ price ที่คุณใช้อยู่ในปัจจุบันเป็นสิ่งสำหรับทุกทำซ้ำกับคุณสมบัติของจากอาเรย์. แทนที่จะเป็นคุณสามารถใช้ค่าทรัพย์สินอกจากเป้า.

ในของตัวอย่างเช่นข้อมูลของมันมีเพียงผู้นำ $ นั่นคุณจะเอาออกจากราคาบ้าน งั้นคุณสามารถใช้ตัวอย่างเช่น parseFloat และเพียงเพิ่มค่าถ้าการแปลงไม่ได้ยอมจำนนต่อ NaN.

งั้นก็ส่งต่อ groceries ตัวแปรที่จะลดของแทนที่จะเป็น products ซึ่งไม่ใช่ของขวัญอยู่ในตัวอย่างเช่นรหัสมอส

โปรดจำไว้ว่าตอนนี้เราได้เพิ่มคุณค่าของคนเดียวกับสัญลักษณ์ของเงินตราย,และถ้าคุณต้องแตกต่าง currencies คุณต้องต้องบัญชีผู้ใช้สำหรับนั่นตอนการคำนวณผลรวม.

var groceries=[{id:1,product:'Olive Oil',price:'$'+12.1},{id:2,product:'Tomato Soup',price:'$'+3.48},{id:3,product:'Cheesecake',price:'$'+17.36},{id:4,product:'Sirloin Steak',price:'$'+14.8},{id:5,product:'Brie Cheese',price:'$'+23.28},{id:6,product:'Product with invalid price',price:'$'+"hello"}];

var sum = _.reduce(groceries, function (total, obj) {
  var price = parseFloat(obj.price.replace(/^\$/, ''));
  if (!isNaN(price)) {
    return total + price;  
  }
  return total;
}, 0);

console.log(sum)
<script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js"></script>

2021-11-23 09:38:30

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่