在这里,我正在映射financialTransactionDetail
数组并填充数据。值(value)观正在变好。现在,我必须获取TransactionAmount
的总和,就像数组的长度为3就有3 TransactionAmount
的总和一样,我必须找到1050 + 1050 + 1050 = 3150的总和。我尝试使用load hash,但未获得正确的值。
请帮忙 。
// Below is the array value
financialTransactionDetail: Array(3)
0:
AdjustedAmount: "0"
NetTransactionAmount: "1050"
TransactionAmount: 1050
1:
AdjustedAmount: "0"
NetTransactionAmount: "1050"
TransactionAmount: 1050
2:
AdjustedAmount: "0"
NetTransactionAmount: "1050"
Status: "Unpaid"
TransactionAmount: 1050
__typename: "FinancialTransactionDetail"
///////////////////////
<Tab heading="INVOICE SPECIFIC">
{ !_.isEmpty(financialTransactionDetail.financialTransactionDetail) && financialTransactionDetail.financialTransactionDetail.map(
(data, index) => {
// this.state.sum+= Sum(parseInt( data.TransactionAmount));
this.state.transactionAmount=_.sum(data.TransactionAmount) ;
console.log("sum data ",this.state.transactionAmount);
return(
<View key={index} style={{flexDirection:'row', padding:10, alignItems:'center', justifyContent:'space-between'}}>
<View style={{paddingRight:10, marginRight:10}}>
<CheckBox style={styles.checkBox} color="#00678f" checked={this.state.isChecked} onPress={() =>this.handleChange()}/>
</View>
<View style={{flexDirection:'column',flex:1, padding:10, borderWidth:1, borderColor:'lightgrey', borderRadius:10}}>
<View style={{flexDirection:'row', alignItems:'center'}}>
{!this.state.isChecked && <RegularText text={`₦ ${data.TransactionAmount}`} style={{paddingBottom:10, paddingRight:5}}/>}
<SmallText text="From 1-Jan-2019 to 31-Jan-2019" style={{paddingBottom:10}}/>
</View>
{this.state.isChecked &&
<RegularText text={`₦ ${data.TransactionAmount}`} style={{borderColor: '#00fff', borderBottomWidth:1}}>
</RegularText>
/* <Input
value={this.state.transactionAmount}
onChangeText={(text) => this.setState({value1:text})}
/> */
}
</View>
</View>
最佳答案
您可以使用纯JavaScript方法reduce
对值求和:
let financialTransactionDetail =
[
{
AdjustedAmount: "0",
NetTransactionAmount: "1050",
TransactionAmount: 1050
},
{
AdjustedAmount: "0",
NetTransactionAmount: "1050",
TransactionAmount: 1050
},
{
AdjustedAmount: "0",
NetTransactionAmount: "1050",
Status: "Unpaid",
TransactionAmount: 1050
}
];
let sum = financialTransactionDetail.reduce((a, c) => { return a + c.TransactionAmount}, 0);
console.log('sum: ', sum)
关于javascript - 在React Native中找到数组元素的总和,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57461304/