例如,我有一个数组:
const reference = [{id: 1, value: 10}, {id: 2, value: 10}, {id: 3, value: 10}, {id: 4, value: 5}];
如何从引用中获取数组值,例如
const result = [0, 10, 20, 25];
第一步始终= 0
第二步0 + 10 = 10
第三步0 + 10 + 10 = 20
第四步0 + 10 + 10 + 5 = 25
答案 0 :(得分:1)
您可以缩小数组,并将当前的value
添加到最后的总和:
const reference = [{id: 1, value: 10}, {id: 2, value: 10}, {id: 3, value: 10}, {id: 4, value: 5}];
const result = reference
.reduce((r, o, i) => {
r.push(i === 0 ? 0 : r[r.length - 1] + o.value);
return r;
}, [])
console.log(result);
答案 1 :(得分:0)
您可以通过对总和进行闭合来映射值,并为第一个元素取零。
TypeError: 'int' object is not iterable
答案 2 :(得分:0)
我这样做的方式是使用Array.reduce方法,如下所示:
BEGIN:VCALENDAR' . "\r\n" .
'PRODID:-Canada\`s Restoration Services' . "\r\n" .
'X-WR-RELCALID:'.$icsID.
'VERSION:2.0' . "\r\n" .
'METHOD:CANCEL' . "\r\n" .
'BEGIN:VTIMEZONE' . "\r\n" .
'TZID:Eastern Time' . "\r\n" .
'BEGIN:STANDARD' . "\r\n" .
'DTSTART:20091101T020000' . "\r\n" .
'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=1SU;BYMONTH=11' . "\r\n" .
'TZOFFSETFROM:-0400' . "\r\n" .
'TZOFFSETTO:-0500' . "\r\n" .
'TZNAME:EST' . "\r\n" .
'END:STANDARD' . "\r\n" .
'BEGIN:DAYLIGHT' . "\r\n" .
'DTSTART:20090301T020000' . "\r\n" .
'RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY=2SU;BYMONTH=3' . "\r\n" .
'TZOFFSETFROM:-0500' . "\r\n" .
'TZOFFSETTO:-0400' . "\r\n" .
'TZNAME:EDST' . "\r\n" .
'END:DAYLIGHT' . "\r\n" .
'END:VTIMEZONE' . "\r\n" .
'BEGIN:VEVENT' . "\r\n" .
'ORGANIZER;CN="'.$fromName.'":MAILTO:'.$fromAddress. "\r\n" .
'ATTENDEE;CN="'.$toName.'";ROLE=REQ-
PARTICIPANT;RSVP=TRUE:MAILTO:'.$toAddress. "\r\n" .
'LAST-MODIFIED:' . date("Ymd\TGis") . "\r\n" .
'UID:CALEVENT_TS'.$icsID ."\r\n" .
'DTSTAMP:'.date("Ymd\TGis"). "\r\n" .
'DTSTART;TZID="Eastern Time":'.date("Ymd\THis",strtotime($startTime)). "\r\n" .
'DTEND;TZID="Eastern Time":'.date("Ymd\THis", strtotime($endTime)). "\r\n" .
'TRANSP:OPAQUE'. "\r\n" .
'SEQUENCE:'.$sequence. "\r\n" .
'X-MICROSOFT-CDO-APPT-SEQUENCE:'.$sequence. "\r\n".
'SUMMARY:' . $subject . "\r\n" .
'LOCATION:' . $location . "\r\n" .
'CLASS:PUBLIC'. "\r\n" .
'PRIORITY:5'. "\r\n" .
'STATUS:CANCELLED' . "\r\n" .
'BEGIN:VALARM' . "\r\n" .
'TRIGGER:-PT15M' . "\r\n" .
'ACTION:DISPLAY' . "\r\n" .
'DESCRIPTION:Reminder' . "\r\n" .
'END:VALARM' . "\r\n" .
'END:VEVENT'. "\r\n" .
'END:VCALENDAR'. "\r\n"
希望有帮助