Мне нужно перебрать shoppingItem (items) внутри shoppingOrder (orders). Есть три заказа. В первом заказе есть один элемент (itemid: 1), во втором заказе - шесть элементов (itemid: 2,3,4,5,6,7), в третьем заказе - один элемент (itemid: 8). Мне нужно показать только пять лучших предметов. т.е. 1,2,3,4,5, но текущий код ограничивает элемент только во втором порядке, показывая пять элементов внутри. Окончательный результат будет следующим: 1,2,3,4,5,6,8
Если в первом заказе пять элементов, должен выйти l oop, если в первом заказе один элемент, а во втором - шесть. , он должен показывать 1 в порядке 1 и 2,3,4,5 в порядке2 и завершать работу до заказа3. Но в моем примере использование order.shoppingItem.slice(0,5)
ограничивает элементы только во втором порядке. Это не ограничивает общее количество предметов. Как мне решить эту проблему? Я использую Vue JS версию 2
NestedL oop. vue
<template>
<div>
<div v-for="order in shoppingOrder" :key="order.orderId">
<div v-for="item in order.shoppingItem.slice(0,5)" :key="item.itemId">
{{item.itemId}}
</div>
</div>
</div>
</template>
<script>
export default {
name: "NestedLoop",
data() {
return {
shoppingOrder: [
{
orderId: 1,
orderDate: "7/30/2020",
orderStatus: "Dispatched",
shoppingItem: [
{
itemId: 1,
itemName: "Pen",
itemQuantity: "1",
itemPrice: "10.00"
}
]
},
{
orderId: 2,
orderDate: "7/25/2020",
orderStatus: "Ordered",
shoppingItem: [
{
itemId: 2,
itemName: "Notebook",
itemQuantity: "2",
itemPrice: "40.00"
},
{
itemId: 3,
itemName: "Scale",
itemQuantity: "3",
itemPrice: "100.00"
},
{
itemId: 4,
itemName: "Sharpener",
itemQuantity: "1",
itemPrice: "10.00"
},
{
itemId: 5,
itemName: "DocumentFolder",
itemQuantity: "1",
itemPrice: "10.00"
},
{
itemId: 6,
itemName: "PencilBox",
itemQuantity: "5",
itemPrice: "140.00"
},
{
itemId: 7,
itemName: "SketchBox",
itemQuantity: "5",
itemPrice: "10.00"
}
]
},
{
orderId: 3,
orderDate: "7/34/2020",
orderStatus: "Dispatched",
shoppingItem: [
{
itemId: 8,
itemName: "Sketch",
itemQuantity: "1",
itemPrice: "10.00"
}
]
}
]
};
},
methods: {}
};
</script>
<style scoped>
</style>
Результат
1
2
3
4
5
6
8
Ожидается возврат только первых 5 таких элементов (1 в порядке 1, а затем 2,3,4,5 в порядке 2),
1
2
3
4
5