를 줄이는 방법 개체 배열의 현악기 가격

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 을 얻기 위해 누적 합계입니다.

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

이했다! 대단히 감사합니다. 내가 오해를 반복기 부분..
kon
0

에 코드 price 는 현재 사용하는 개체에 대한 모든 반복 속성으로부터 배열입니다. 대신,당신이 걸릴 수있는 가격 속에서 개체입니다.

에서 예를 들어 데이터만 있도 $ 할 수 있는 제거에서 가격을 제공합니다. 다음 사용할 수 있습니다 예를 들어서는 parsefloat 만 추가하면 값을 변환하지 않습 yield NaN.

다음 groceries 변수를 줄이는 대신 products 는 존재하지 않는 예제 코드입니다.

현재 우리가 값을 추가하는 동일한 통화하고 있는 경우 다른 통화하고 있는 계정을 계산할 때 조화를 이루었습니다.

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ý
..................................................................................................................