【发布时间】:2020-04-08 17:23:32
【问题描述】:
大家好。我有一个我应该做的简短任务。它有两个部分。我已经完成了第一部分(尽我所能,但我愿意接受更好的方法),而第二部分给我带来了问题。任务如下图:
-
首先使用以下值创建一个名为 data 的对象数组:
- 本金- 2500,时间- 1.8
- 本金- 1000,时间- 5
- 本金- 3000,时间- 1
- 校长- 2000,时间- 3
注意:每个单独的对象都应该有“主要”和“时间”作为键。 编写一个名为“interestCalculator”的函数,它将数组作为单个参数并执行以下操作:
使用条件确定适用的费率:
- 如果本金大于等于2500且时间大于1小于3,则rate = 3
- 如果本金大于等于2500且时间大于等于3,则rate = 4
- 如果本金小于2500或者时间小于等于1,那么rate = 2
- 否则,速率 = 1;
使用公式计算每个单独对象的兴趣:
(principal * rate * time) / 100.
该函数应返回一个名为interestData 的对象数组,并且每个单独的对象应具有“principal”、“rate”、“time”和“interest”作为键及其对应的值。
在您的 return 语句之前将 'interestData' 数组记录到控制台。
最后,调用/执行函数并传递您创建的“数据”数组。*
如何使用键从函数中返回对象?
这是我已经尝试过的
const objArr = [{
"principal": 2500,
"time": 1.8
},
{
"principal": 1000,
"time": 5
},
{
"principal": 3000,
"time": 1
},
{
"principal": 2000,
"time": 3
}
]
//console.log(objArr.length)
function interestCalculator(array) {
let rate = 0;
let interestData = [];
array.forEach(function(entry) {
if (entry.principal >= 2500) {
if (entry.time > 1.5 && entry.time < 3) {
rate = 3;
} else if (entry.time >= 3) {
rate = 4;
}
} else if (entry.principal < 2500 || entry.time <= 1) {
rate = 2;
} else {
rate = 1;
}
const interest = (entry.principal * rate * entry.time) / 100;
interestData.push(entry.principal, rate, entry.time, interest);
//return interest;
})
console.log(interestData.length);
}
interestCalculator(objArr);
提前致谢。
【问题讨论】:
标签: javascript arrays loops object push