vue.js - 如何平均两个具有相同元素的数组?
问题描述
我有两个数组。例如,我想对它们中的每一个的第一个索引进行平均。使用 Vue 解决此问题的最佳方法是什么?我计划对所有索引进行平均,但现在想了解如何仅对一个元素进行平均。
new Vue({
el: "#app",
data: {
array1: [
{ pizza: "20" },
{ popcorn: "7"},
{ pretzel: "15"},
{ fries: "11"}
],
array2: [
{ pizza: "9" },
{ popcorn: "17"},
{ pretzel: "5"},
{ fries: "4"}
]
},
methods: {
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
average pizza = {{array1[0] + array2[0] / 2}}
</div>
解决方案
您可以创建一个接受索引并返回平均值的方法。要获得价值,只需使用Object.keys[0]
, 转换为Number
使用一元运算+
符。
methods: {
getAvarageByIndex(index) {
return (+Object.values(this.array1[index])[0] + +Object.values(this.array2[index])[0]) / 2;
}
}
new Vue({
el: "#app",
data: {
array1: [{
pizza: "20"
},
{
popcorn: "7"
},
{
pretzel: "15"
},
{
fries: "11"
}
],
array2: [{
pizza: "9"
},
{
popcorn: "17"
},
{
pretzel: "5"
},
{
fries: "4"
}
]
},
methods: {
getAvarageByIndex(index) {
return (+Object.values(this.array1[index])[0] + +Object.values(this.array2[index])[0]) / 2;
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div>
<span>{{ getAvarageByIndex(2) }}</span>
</div>
</div>
推荐阅读
- api - 如何以编程方式通过链接邀请用户加入电报频道
- triggers - 在使用 Blob 触发 ADF 时需要帮助
- javascript - 联系 React Native
- python - django.template.exceptions.TemplateDoesNotExist:模板/index.html 错误
- mysql - 该过程未按我在 MySQL 中的预期正常工作
- apache-nifi - 无法使用 putditributedmapcache 和 fetchdistributedmapcache 在 Nifi 缓存中存储和检索键和值
- ios - 了解 XCTestCase 生命周期 - 如何在 Xcode 单元测试启动应用程序之前执行设置?
- react-native - 在请求参数“_csrf”或标头“X-XSRF-TOKEN”上发现无效的 CSRF 令牌“null”
- javascript - 在 HTML 中查找和替换文本不执行任何操作
- ios - 避免将图像存储在临时文件夹iOS swift中