javascript - 无法使用 lodash 和 vueJS 对数组进行排序
问题描述
我正在尝试建立一个单页网站来展示印度的 covid 案例。基本 url 返回一个按字母顺序排序的数组。我想根据“totalConfirmed”对其进行排序。这是我的代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Covid19 India</title>
<!-- Bootstrap CSS 4.3.1 -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<!-- Axios -->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<!-- VueJS -->
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<!-- Lodash -->
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
</head>
<body>
<div class="container mt-4" id="app">
<table class="table-responsive">
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Location</th>
<th scope="col">Total</th>
<th scope="col">Active</th>
<th scope="col">Recovered</th>
<th scope="col">Deaths</th>
</tr>
</thead>
<tbody>
<tr v-for="state, index in states">
<th scope="row">{{ index + 1 }}</th>
<td>{{ state.loc }}</td>
<td>{{ state.totalConfirmed }}</td>
<td>{{ state.totalConfirmed - (state.discharged + state.deaths)}}</td>
<td>{{ state.discharged }}</td>
<td>{{ state.deaths }}</td>
</tr>
</tbody>
</table>
</table>
</div>
<script>
const cases = [];
var app = new Vue({
el: '#app',
data: {
states: []
},
mounted: function() {
axios.get('https://api.rootnet.in/covid19-in/stats/latest')
.then(response => {
this.states = response.data.data.regional;
this.states = cases;
cases = _.orderBy(cases, 'totalConfirmed', 'desc');
console.log(cases);
})
.catch(error => {
console.log(error);
});
}
})
</script>
</body>
</html>
在我的控制台中,我收到错误“TypeError:_.orderBy 不是函数”。我在这里做错了什么?如果我不使用 orderBy,我的代码运行良好,没有错误。
解决方案
尝试添加 lodash 库。
const _ = require('lodash');
cases = _.orderBy(cases, ['totalConfirmed']);
推荐阅读
- javascript - 使用谷歌表格和脚本发送电子邮件
- python - 分段错误:11 - 运行包装在 python 中的 fortran
- javascript - 如何使垂直滚动条在其水平内容溢出时保持在视口中?
- node.js - 无法让 JWT 身份验证与 socket.io 一起使用
- r - 自动调整大图以适合 rmarkdown 的页面 pdf 输出
- javascript - 如何在改造中插入一个值?
- python - 理解 P2P(异步与多线程)
- javascript - 仅为构建脚本运行 webpack
- linux - Teradata DBS 状态为 7:系统在没有 PE 的情况下运行 - 不允许会话
- spring-boot - 如何及时(每10分钟)从微服务(SpringBoot)连接到RabbitMQ 3次