js 数组 IndexBar 索引栏字母顺序问题
data = { D: [{...}],
L: [{...}],
Q: [{...}],
S: [{...}],
W: [{...}],
X: [{...}],
Z: [{...}]
}
<van-index-bar class="anchorBar"> <template v-for="(item, index) in data">
<van-index-anchor :index="index" :key="index" />
<van-cell
center
v-for="(item2, index2) in item"
:key="index2"
:title="item2.realName"
:label="item2.userPost">
</van-cell>
</template>
</van-index-bar>
请问一下后端按字母顺序给我返回的数据,循环遍历字母顺序错乱的。我哪里写错了吗?
回答:
你的data是一个object对象,而object对象是无序的,你在浏览器看到的排序是浏览器按照自己的规则(一般是本地语言)进行的排序,这种情况需要对object进行处理,比如转成array后排序
回答:
const arr = [];for (const key in data) {
arr[key.charCodeAt()] = data[key];
}
可以先根据ASCII作为索引转成数组,使用时就反向变为字母。这样也省的排序了
以上是 js 数组 IndexBar 索引栏字母顺序问题 的全部内容, 来源链接: utcz.com/p/935836.html