如何在Javascript / Vue.js中求和两个相似的对象

马修·巴可(Mathieu Barco)

我有一个对象,我需要将每个value独立的对象与另一个类似的对象进行求和,如下例所示:

CharacterStats: { a: 0, b: 2, c: 0, d: 0 }
ItemStats: { a: 0, b: -1, c: 4, d: 0 }

结果应该是

CharacterStats: { a: 0, b: 1, c: 4, d: 0 }

我找到了这个答案,如何在javascript中求和两个对象值,但是我正在使用vueJS,所以我的函数看起来像这样:

export default {
  data () {
    return {
      CharacterStats: { a:0, b:0, c:0, d:0 }
    };
  },
  methods: {
    calculStatsItems(ItemsStats)  {
      var obj = {};
      Object.keys(this.CharacterStats ).forEach(function(a){
        obj[a] = this.CharacterStats.stat[a] +ItemsStats[a]
      })
      console.log(obj);
    }
  },
}

但是我在此行上不断收到错误消息,告诉我“这是未定义的”:

Object.keys(this.CharacterStats ).forEach(function(a)

还有另一种方法可以解决或修复它吗?

马杰德·巴达维(Majed Badawi)

.forEach函数中,this不引用vue组件实例,因此CharacterStats变为undefined尝试这个:

const CharacterStats = { a: 0, b: 2, c: 0, d: 0 };
const ItemStats = { a: 0, b: -1, c: 4, d: 0 };

new Vue({
  el:"#app",
  data: () => ({
    CharacterStats: { a: 0, b: 2, c: 0, d: 0 }
  }),
  created() {
    this.calculStatsItems({ a: 0, b: -1, c: 4, d: 0 });
  },
  methods: {
    calculStatsItems(ItemsStats) {
      const obj = {};
      Object.keys(this.CharacterStats).forEach(a => {
        obj[a] = this.CharacterStats[a] + (ItemsStats[a] || 0)
      });
      console.log(obj);
    }
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

<div id="app"></div>

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何合并两个相似的JavaScript代码块?

来自分类Dev

如何在Vim中搜索两个相似的字符串之一?

来自分类Dev

如何将两个数组与对象进行比较以过滤相似的数组(香草JS)

来自分类Dev

如何在Vue.js 2.6,Vue CLI 4,Vuetify 2.2中计算两个项目值

来自分类Dev

.preventDefault()合并两个相似的函数-javascript

来自分类Dev

如何使用Doctrine在Symfony中的两个实体之间共享相似的属性?

来自分类Dev

如何从两个流中获取相似的元素并收集由此形成的对而不丢失顺序?

来自分类Dev

如何通过分解两个非常相似的类在Argparse的类中传递参数

来自分类Dev

如何结合两个几乎相似的RxJava方法?

来自分类Dev

我如何在JavaScript中返回两个对象

来自分类Dev

如何合并两个对象数组,并对JavaScript中重复的对象键的值求和?

来自分类Dev

如何测试两个javascript对象是否相似?

来自分类Dev

如何在SQL中使用两个相似的参数执行搜索功能

来自分类Dev

如何在bash中将两个相似的字符串与通配符进行比较?

来自分类Dev

如何使用SELECT INTO将两个相似的表列的值放入一个表中?

来自分类Dev

从两个不同的来源检索数据以在表javascript / Vue.js中填充<tr>

来自分类Dev

如何使用 vanilla javascript 将 HTML 附加到两个相似的元素?

来自分类Dev

如何在 Vue.js 中使两个输入相互反应

来自分类Dev

如何将类绑定到 Vue.js 中的两个以上选项?

来自分类Dev

如何比较两个结构相似的表,仅在SQL Server中返回列名和不同值的值?

来自分类Dev

如何在Vue中操纵两个数据值

来自分类Dev

Vue.js 3-如何在Vue组件之间传递数据并同时更新两个视图?

来自分类Dev

如何在单个 Vue 文件中添加两个组件进行导出?

来自分类Dev

如何计算JavaScript中两个列表的相似度

来自分类Dev

Javascript,从数组中两个相似对象之一中删除属性

来自分类Dev

如何使用v-for(Vue.js)循环JSON对象并将渲染的DOM拆分为两个div容器?

来自分类Dev

如何在python中对两个索引求和?

来自分类Dev

如何在 REST API 中对两个变量求和

来自分类Dev

请解释如何在给定的代码块 => 从两个变量中获取值并打印相似的值...初学者级别

Related 相关文章

  1. 1

    如何合并两个相似的JavaScript代码块?

  2. 2

    如何在Vim中搜索两个相似的字符串之一?

  3. 3

    如何将两个数组与对象进行比较以过滤相似的数组(香草JS)

  4. 4

    如何在Vue.js 2.6,Vue CLI 4,Vuetify 2.2中计算两个项目值

  5. 5

    .preventDefault()合并两个相似的函数-javascript

  6. 6

    如何使用Doctrine在Symfony中的两个实体之间共享相似的属性?

  7. 7

    如何从两个流中获取相似的元素并收集由此形成的对而不丢失顺序?

  8. 8

    如何通过分解两个非常相似的类在Argparse的类中传递参数

  9. 9

    如何结合两个几乎相似的RxJava方法?

  10. 10

    我如何在JavaScript中返回两个对象

  11. 11

    如何合并两个对象数组,并对JavaScript中重复的对象键的值求和?

  12. 12

    如何测试两个javascript对象是否相似?

  13. 13

    如何在SQL中使用两个相似的参数执行搜索功能

  14. 14

    如何在bash中将两个相似的字符串与通配符进行比较?

  15. 15

    如何使用SELECT INTO将两个相似的表列的值放入一个表中?

  16. 16

    从两个不同的来源检索数据以在表javascript / Vue.js中填充<tr>

  17. 17

    如何使用 vanilla javascript 将 HTML 附加到两个相似的元素?

  18. 18

    如何在 Vue.js 中使两个输入相互反应

  19. 19

    如何将类绑定到 Vue.js 中的两个以上选项?

  20. 20

    如何比较两个结构相似的表,仅在SQL Server中返回列名和不同值的值?

  21. 21

    如何在Vue中操纵两个数据值

  22. 22

    Vue.js 3-如何在Vue组件之间传递数据并同时更新两个视图?

  23. 23

    如何在单个 Vue 文件中添加两个组件进行导出?

  24. 24

    如何计算JavaScript中两个列表的相似度

  25. 25

    Javascript,从数组中两个相似对象之一中删除属性

  26. 26

    如何使用v-for(Vue.js)循环JSON对象并将渲染的DOM拆分为两个div容器?

  27. 27

    如何在python中对两个索引求和?

  28. 28

    如何在 REST API 中对两个变量求和

  29. 29

    请解释如何在给定的代码块 => 从两个变量中获取值并打印相似的值...初学者级别

热门标签

归档