저장소 배열에서 주어진 항목을 몇 개의 저장소가 포함하는지에 대한 목록을 만들려고합니다. stores
배열의 개별 객체에는 여러 속성 (이름, 위치 등)이 포함될 수 있지만 인벤토리 (실제 주식 번호가 아닌 항목 유형의 배열)를 선택하려고합니다. ['hammers', 'wrenches', 'screw drivers'
), 각 항목이 포함 된 속성으로 개체를 만듭니다.Underscore.js 개체를 반환하는 _.duduce()
//simplified stores array for reference
stores = [
{ name: "Al's Hardware", inventory: ['hammers', 'wrenches'] },
{ name: "House Depot", inventory: ['wrenches', 'hammers', 'screw drivers'] },
{ name: "Grove Hardware", inventory: ['wrenches', 'screw drivers'] }
];
var itemCount = _(stores).chain()
.map(store => store.inventory)
.flatten()
.reduce((list, item) => list[item] = (list[item] || 0) + 1, {})
.value();
console.log(itemCount['hammers']); //Expected: 2; Actual: undefined
console.log(itemCount); //Expected: object containing all names and values; Actual: 1
확실하지 아직 내가 잘못,하지만 난 그것이 내가 _.reduce를 사용하기 위해 노력하고있어 방법과 관련이있다 같은데요 무엇을(). 그러나,이 시점에서 나는 잃어 버렸기 때문에 다음에 무엇을 시도해야할지 확신이 없습니다.
나는 이것이 내가 원하는 구조 (내가 work-arounds를 찾고있는 것이 아니다)이다라고 확신한다, 나는 단지 내가 줄이기 위해 분명히하고있는 것이 무엇인지, 그리고 그것을 어떻게 바꿀 수 있는지 궁금하다. 그것은 보이는 뭔가를 날 다시주지 제대로 그래서 같은
{'hammers': 2,
'wrenches': 3,
'screw drivers': 2}
등
당신이 무엇을'매장을 공유 시겠어요 사용할 수 있습니다 '어떻게 생겼어? – Timo
'stores'를 포함하도록 수정되었습니다. – Brad