如何竖向显示数组数据?
对于JavaScript处理数组数据的问题,有一种常见的需求是将其竖向显示。例如,给定一个保存三组数据的数组:
let arr = [ [{price: 26, item_name: '测试1'},{price: 269, item_name: '测试1'},{price: 546, item_name: '测试1'}], [{price: 75, item_name: '测试2'},{price: 360, item_name: '测试2'},{price: 648, item_name: '测试2'},{price: 914, item_name: '测试2'}], [{price: 142, item_name: '测试3'},{price: 456, item_name: '测试3'},{price: 685, item_name: '测试3'}] ];
<div v-for="i in arr" :key="i"> <div v-for="(j, index) in i">{{j.name}}</div> </div>
但是,这种方法无法达到预期效果,因为嵌套循环中的 j.name 值不存在。
立即学习“Java免费学习笔记(深入)”;
要获得竖向显示的数据,一种更有效的方法是对原始 arr 数组进行处理,将其展平为一个一维数组。例如,可以使用 javascript 的 flat() 方法:
let arr_flattened = arr.flat();
处理后的数组arr_flattened现在是一个一维数组,其中每个元素都是一个对象:
[ { price: 26, item_name: '测试1' }, { price: 269, item_name: '测试1' }, { price: 546, item_name: '测试1' }, ... { price: 142, item_name: '测试3' }, { price: 456, item_name: '测试3' }, { price: 685, item_name: '测试3' } ]
然后,可以在vue中使用这个展开的数组:
<div v-for="j in arr_flattened" :key="j.item_name"> {{ j.item_name }} </div>
这样就实现了数据竖向显示的效果。