1、先上一张效果图:
2、再上一个代码:
<template><div><h1>Array Test</h1><ul><li v-for="item in items" :key="item.id">{{ item.name }}</li></ul><div style="display: flex; flex-direction: column; height: 200px; justify-content: space-between;"><button @click="items.push({ id: 4, name: `Item ${items.length + 1}` })">Add Item</button><button @click="filterTest">filter return</button><button @click="forEachTest">forEach</button><button @click="mapTest">Map return</button></div></div>
</template>
<script setup lang="ts">
import { ref } from "vue";const items = ref([{ id: 1, name: "Item 1" },{ id: 2, name: "Item 2" },{ id: 3, name: "Item 3" },
]);function filterTest() {const filtered = items.value.filter((item) => item.id > 2);console.log(filtered);
}function forEachTest() {items.value.forEach((item) => {console.log(item.name);});
}function mapTest() {const mapped = items.value.map((item) => {return {...item,name: item.name.toUpperCase(),};});console.log(mapped);
}
</script>
<style scoped></style>
3、说明:
filter:根据条件来过滤,并且返回一个过滤以后的数组。
map:遍历数组,并处理数据 ,返回一个处理后的数组。
forEach:只是作遍历,不带返回值,但可以进行一些操作。