为什么我的方法没有将结果推送到数组中?

塞缪尔·斯托克斯

我创建了一个简单的对象。我正在尝试在对象上创建一种方法,该方法可以处理一个数组中的数据并将数据推入两个新数组中。由于某些原因,新数据将不会填充两个新数组。当我运行方法john.tipCalc();时 什么都没有推到我的空数组。

let john = {
  fullName: "John Smith",
  bills: [124, 48, 268, 180, 42],
  tips : [],
  finalBill : [],
  tipCalc: function() {
     this.bills.forEach(function(bill) {
       let percentage;
       if (bill < 50) {
          percentage = 0.2;
       } else if (bill >= 50 && bill <= 200) {
          percentage = 0.15;
       } else {
          percentage = 0.1;
       }
      this.tips = bill * percentage;
      this.finalBill = bill + bill * percentage;
    });
  }
};

我想用在tipCalc方法中计算为“提示*百分比”的提示来填充“提示”数组。然后,我要在“ finalBill”数组中填充帐单总额以及按帐单+帐单*百分比计算的小费百分比。

马克·迈耶

您需要push()进入tips您还需要使用一个箭头功能() => {}forEach,如果你想用this.tips你的方式:

let john = {
    fullName: "John Smith",
    bills: [124, 48, 268, 180, 42],
    tips : [],
    finalBill : 0,                  // shouldn't this be a single number?
    tipCalc: function() {
       this.bills.forEach(bill => { // use arrow function
         let percentage;
         if (bill < 50) {
            percentage = 0.2;
         } else if (bill >= 50 && bill <= 200) {
            percentage = 0.15;
         } else {
            percentage = 0.1;
         }
        this.tips.push(bill * percentage);    // push()!
        this.finalBill +=  bill * percentage; // add
      });
    }
  };

 john.tipCalc()
 console.log("Tips", john.tips)
 console.log("Final:", john.finalBill )

如果由于某种原因您不能使用箭头功能,则可以将其this作为最终参数传递forEach()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我正在尝试将数据推送到react中useState中定义的数组中,但是没有将数据推送到数组中

来自分类Dev

将没有特定类的元素推送到数组中

来自分类Dev

Github | 为什么当我推送到特定分支时没有记录在我的贡献中

来自分类Dev

为什么我的时间间隔会根据推送到数组返回不同的结果?

来自分类Dev

为什么此fs.readFile循环未将其结果推送到我的数组?

来自分类Dev

有没有另一种方法将数据推送到js中的数组

来自分类Dev

为什么我不能将这些额外的数据推送到我的数组中?

来自分类Dev

当我将项目推送到Github时,我拥有最早提交的文件,为什么?

来自分类Dev

为什么我的 Rails 应用没有推送到 Github?(错误:1407742E:SSL)

来自分类Dev

为什么我推送到 GitHub 的 GitHub Pages 存储库没有上线?

来自分类Dev

为什么我的本地项目没有被推送到github仓库?

来自分类Dev

为什么我的Docker映像没有被推送到Docker Hub?

来自分类Dev

将多种方法的结果推送到数组中的干净方法

来自分类Dev

为什么不想要的数据被推送到我的数组中?

来自分类Dev

为什么 mongo 不能将我的 ObjectId 推送到预定义的数组中?

来自分类Dev

为什么我不能在 Perl 中将项目推送到数组的散列中?

来自分类Dev

为什么在将Javascript对象推送到数组之前必须将其存储在变量中?

来自分类Dev

为什么我无法将文件推送到My Git Repo中

来自分类Dev

Mongoose push() 函数没有将数据推送到数组中

来自分类Dev

为什么我的程序没有将chars从文件输入到2d数组中?

来自分类Dev

猫鼬将结果推送到数组

来自分类Dev

是否有更好的方法将值推送到表单控件,并将数组作为 Angular 中的值

来自分类Dev

查找并推送结果将两个对象推送到数组中

来自分类Dev

为什么我不能推送到heroku?

来自分类Dev

为什么我的formdata.append没有将键值对发送到服务器?

来自分类Dev

为什么我的PrintWriter没有将数据发送到服务器?

来自分类Dev

使用 Javascript 有没有办法将信息推送到键/值对之外的数组中?

来自分类Dev

当我尝试将对象推送到MongoDB和Nodejs中的数组时,为什么会出现castError?

来自分类Dev

在 VS Code 中,有没有办法在将 git 更改推送到远程分支之前警告我?

Related 相关文章

  1. 1

    我正在尝试将数据推送到react中useState中定义的数组中,但是没有将数据推送到数组中

  2. 2

    将没有特定类的元素推送到数组中

  3. 3

    Github | 为什么当我推送到特定分支时没有记录在我的贡献中

  4. 4

    为什么我的时间间隔会根据推送到数组返回不同的结果?

  5. 5

    为什么此fs.readFile循环未将其结果推送到我的数组?

  6. 6

    有没有另一种方法将数据推送到js中的数组

  7. 7

    为什么我不能将这些额外的数据推送到我的数组中?

  8. 8

    当我将项目推送到Github时,我拥有最早提交的文件,为什么?

  9. 9

    为什么我的 Rails 应用没有推送到 Github?(错误:1407742E:SSL)

  10. 10

    为什么我推送到 GitHub 的 GitHub Pages 存储库没有上线?

  11. 11

    为什么我的本地项目没有被推送到github仓库?

  12. 12

    为什么我的Docker映像没有被推送到Docker Hub?

  13. 13

    将多种方法的结果推送到数组中的干净方法

  14. 14

    为什么不想要的数据被推送到我的数组中?

  15. 15

    为什么 mongo 不能将我的 ObjectId 推送到预定义的数组中?

  16. 16

    为什么我不能在 Perl 中将项目推送到数组的散列中?

  17. 17

    为什么在将Javascript对象推送到数组之前必须将其存储在变量中?

  18. 18

    为什么我无法将文件推送到My Git Repo中

  19. 19

    Mongoose push() 函数没有将数据推送到数组中

  20. 20

    为什么我的程序没有将chars从文件输入到2d数组中?

  21. 21

    猫鼬将结果推送到数组

  22. 22

    是否有更好的方法将值推送到表单控件,并将数组作为 Angular 中的值

  23. 23

    查找并推送结果将两个对象推送到数组中

  24. 24

    为什么我不能推送到heroku?

  25. 25

    为什么我的formdata.append没有将键值对发送到服务器?

  26. 26

    为什么我的PrintWriter没有将数据发送到服务器?

  27. 27

    使用 Javascript 有没有办法将信息推送到键/值对之外的数组中?

  28. 28

    当我尝试将对象推送到MongoDB和Nodejs中的数组时,为什么会出现castError?

  29. 29

    在 VS Code 中,有没有办法在将 git 更改推送到远程分支之前警告我?

热门标签

归档