Vue 使用 array.flatMap()例子

在Vue中,.flatMap() 是 JavaScript ES6 提供的一个数组实例方法,它可以将数组中的每个元素应用一个映射函数,然后将所有映射结果放入一个新的扁平化数组中返回。在Vue中,你可以在计算属性、方法或任何处理数组的地方使用它。

以下是一个 .flatMap() 方法的基本使用示例:

html 复制代码
<template>
  <div>
    <ul>
      <li v-for="item in transformedItems">{{ item }}</li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      originalItems: [
        { id: 1, children: [2, 3, 4] },
        { id: 5, children: [6, 7] },
      ],
    };
  },
  computed: {
    transformedItems() {
      // 使用 flatMap 进行扁平化映射
      return this.originalItems.flatMap(item => [
        item.id,
        ...item.children.map(childId => `child_${childId}`),
      ]);
    },
  },
};
</script>

在这个例子中,我们有一个包含对象的数组,每个对象都有一个id和一个子项数组。我们使用 .flatMap() 来扁平化地映射这个数组,将每个元素的id和其子项转换为新格式后合并到一个单一的新数组中。

注意,.flatMap() 方法并不会对原始数组做任何修改,而是返回一个新的数组。此外,它要求映射函数返回的是一个数组,这样就可以自动将所有返回的数组合并成一个单一的扁平数组。

相关推荐
细节控菜鸡1 小时前
【2025最新】ArcGIS for JS 实现随着时间变化而变化的热力图
开发语言·javascript·arcgis
2501_916008891 小时前
Web 前端开发常用工具推荐与团队实践分享
android·前端·ios·小程序·uni-app·iphone·webview
SkylerHu2 小时前
前端代码规范:husky+ lint-staged+pre-commit
前端·代码规范
菜鸟una2 小时前
【微信小程序 + 消息订阅 + 授权】 微信小程序实现消息订阅流程介绍,代码示例(仅前端)
前端·vue.js·微信小程序·小程序·typescript·taro·1024程序员节
Yeats_Liao2 小时前
Go Web 编程快速入门 05 - 表单处理:urlencoded 与 multipart
前端·golang·iphone
飞翔的佩奇2 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统
拉不动的猪2 小时前
h5后台切换检测利用visibilitychange的缺点分析
前端·javascript·面试
桃子不吃李子2 小时前
nextTick的使用
前端·javascript·vue.js
萌新小码农‍2 小时前
SpringBoot+alibaba的easyexcel实现前端使用excel表格批量插入
前端·spring boot·excel
冰暮流星3 小时前
css3新增背景图片样式
前端·css·css3