js实现获取原生form表单的数据序列化表单以及将数组转化为一个对象obj,将数组中的内容作为对象的key转化为对象,对应的值转换为对象对应的值

news2024/12/24 11:25:59

1.需求场景

哈喽 大家好啊,今天遇到一个场景,

js实现获取原生form表单的数据序列化表单以及将数组转化为一个对象obj,将数组中的内容作为对象的key转化为对象,对应的值转换为对象对应的值

数组对象中某个属性的值,转换为新对象的属性,数组对象中另外一个属性的值,转换为对应对象属性的值输出

(1)因为我是用原生写的form表单,然后我想在确认的时候拿到form表单

(2)我的form表单是通过数组轮询的,所以会有多个,我要将我填写的表单组成一个数组对象的形式

类似下面遍历的表单:

2.实现方案和代码

首先我的表单定义一个class变量,后续根据我得到的数组进行遍历的时候进行动态命名

 <div v-for='item,index in selectedData'>
    <form method="post" :class="'form'+index">
    </form>
</div>

这样我的表单都有各个对应class的名称了 form0  form1  form2....

然后我们在点击确认事件的时候去拿表单序列化的数据

selectedDataTemp 是一个我的数组,根据数组生成对应的表单
let serializeFormData = [];
    selectedDataTemp.forEach((item,index) => {
        serializeFormData = $(`.form${index}`).serializeArray();
        console.log(serializeFormData,'serializeFormData')
    })
}

打印出来的serializeFromData

此时我们看到的是一个数组,里面每个对象里面都包含属性name 和value 对应的是我们表单的属性以及属性值

所以我的目标是将数据转换成一个对象

[
    {
        "name": "ImportedItems",
        "value": "1"
    },
    {
        "name": "endUse",
        "value": "0"
    },
    {
        "name": "region",
        "value": "22"
    },
    {
        "name": "isControll",
        "value": "1"
    },
    {
        "name": "exportCode",
        "value": "22"
    }
]

想转换成

{
    "ImportedItems": "1",
    "endUse": "0",
    "region": "33",
    "isControll": "1",
    "exportCode": "33"
}

实现方案:

       var list = {};
         // for in 循环
        for (var key in serializeFormData) {
            let keyTemp = serializeFormData[key].name;
            let valueTemp = serializeFormData[key].value;
            list[keyTemp] = valueTemp;
        }

完整代码:
let serializeFormData = [];
    selectedDataTemp.forEach((item,index) => {
        serializeFormData = $(`.form${index}`).serializeArray();
        console.log(serializeFormData,'serializeFormData')
        var list = {};
        // for in 循环
        for (var key in serializeFormData) {
            let keyTemp = serializeFormData[key].name;
            let valueTemp = serializeFormData[key].value;
            list[keyTemp] = valueTemp;
        }
        console.log(list,'单个表单'); //控制台打印
        formListData.push(list)
    })

最后打印的结果

参考原文:

js将数组转化为一个对象obj,将数组中的内容作为对象的key转化为对象,将数组中的某项内容作为分类来转成对象_js将对象数组转换为 key value foreach map-CSDN博客

就是我希望组装的数据啦,好啦,今天就到这里啦,下次再见额!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1243149.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开店必看!又有新变化?一文读懂2024亚马逊卖家入驻要求和流程

亚马逊2024年新卖家入驻正在火热进行中&#xff0c;想加入亚马逊卖家行列的小伙伴们准备好了吗&#xff1f;9月20日&#xff0c;亚马逊官方宣布2024年新卖家入驻正式开启&#xff0c;又一年招商季来临&#xff0c;东哥还了解到2024年亚马逊卖家注册要求有了一点新变化&#xff…

白银现货怎么开户,需要投入多少钱?

在白银投资市场中&#xff0c;有一种交易产品种类&#xff0c;它能够提供给人们稳定的理财环境&#xff0c;还具有辨别的交易环境。这种白银理财产品就是现货白银&#xff0c;也有一部分投资者将其称为白银现货。为了人们对这一产品具有更加清晰的认识&#xff0c;今天万洲金业…

行情分析 - - 加密货币市场大盘走势(11.23)

大饼昨日又开始了回调&#xff0c;因为FTF消息&#xff0c;而实际还是要下跌的&#xff0c;耐心等待即可。 空单策略&#xff1a;入场37300 止盈34000-33000 止损39000 以太昨日上涨也很激励&#xff0c;目前上涨打了止损&#xff0c;现在入场是好的机会&#xff0c;等待即可。…

揭开未来:塑造数字营销的尖端技术

介绍 对于企业来说&#xff0c;要想在瞬息万变的数字营销世界中取得成功&#xff0c;领先一步至关重要。技术正在以惊人的速度发展&#xff0c;开辟了新的机会&#xff0c;正在改变营销人员与消费者的互动方式。这篇文章的目的是重点介绍重新定义数字营销领域的十大创新技术。…

周末在家怎么玩?极米投影仪RS Pro 3大屏娱乐带你玩转假期

其实平时上班&#xff0c;很多娱乐活动没时间玩&#xff0c;想看的剧也还肯定都没看&#xff0c;趁着周末正好可以都补起来。要想在家玩转假期&#xff0c;选择一款合适的装备就非常重要了&#xff0c;比如极米科技这款4K旗舰投影极米RS Pro 3就挺不错的。有了极米RS Pro 3&…

ubuntu22.04在线安装redis,可选择版本

安装脚本7.0.5版本 在线安装脚本&#xff0c;默认版本号是7.0.5&#xff0c;可以根据需要选择需要的版本进行下载编译安装 sudo apt-get install gcc -y sudo apt-get install pkg-config -y sudo apt-get install build-essential -y#安装redis rm -rf ./tmp.log systemctl …

世微 多功能 LED降压型恒流芯片内置2.2A LED摩托车灯 全亮 半亮 爆闪 AP2403

产品描述 AP2403 是一款 PWM 工作模式,内置功率管&#xff0c;适用于 5-100V 输入的高精度降压 LED 恒流驱动芯片。输出功率可达 22W&#xff0c;电流 2.2A。AP2403 可实现三段功能切换&#xff0c;通过 MODE1/2/3 切换三种功能模式&#xff1a;全亮&#xff0c;半亮&#xff0…

基于YOLO模型建筑工地个人防护设备目标检测

使用安全装备可以保护他们免受建筑工地的意外事故。据统计&#xff0c;每年有数以万计的工人在建筑工地受到严重伤害&#xff0c;造成终生困难。然而&#xff0c;通过自我监控来确保工人穿戴个人防护装备非常重要。在这方面&#xff0c;需要一个准确和快速的系统来检测工人是否…

[前端] V8引擎编译原理

文章目录 1.什么是V81.1 扫描器Scanner1.2 解析器parser1.3 预解析PreParser1.4 解释器Ignition1.5 编译器TurboFan 1.什么是V8 V8是谷歌的开源高性能JavaScript和WebAssembly引擎&#xff0c;用C编写。它被用于Chrome和Node.js等。它实现ECMAScript和WebAssembly&#xff0c;…

浅谈Jmeter接口测试

前言 接口测试是目前最主流的自动化测试手段&#xff0c;将不同的参数组合起来向服务器发送请求&#xff0c;接受和分析响应结果&#xff0c;通过测试数据交换逻辑验证服务端程序的运行正确性。 我们在测试中需要考虑不同的输入组合以涵盖不同的测试范围 1、Jmeter简介 Jmet…

实现了一个简易的计算器

计算器的界面如下&#xff1a; 实现过程&#xff1a; 通过html和css编写这样一个界面JavaScript实现功能 在通过JavaScript实现计算器功能的过程中&#xff0c;其实使用的都是一些基本指数。主要包括以下几点&#xff1a; If/else 分支.For 循环JavaScript 函数箭头函数&…

DRAM(Distilling and Refining Annotations of Metabolism,提取和精练代谢注释)工具安装和使用

先看文章介绍吧&#xff1a;DRAM for distilling microbial metabolism to automate the curation of microbiome function | Nucleic Acids Research | Oxford Academic (oup.com) 1、安装 默认使用conda安装吧&#xff0c;也建议使用conda&#xff0c;pip安装其实都差不多&a…

低代码表单设计器:可视化+灵活+易操作,降本增效轻松实现!

在现代化办公环境中&#xff0c;拥有先进的低代码表单设计器&#xff0c;可以让企业降本又增效&#xff0c;节约企业成本的同时&#xff0c;也能高效利用企业内部资源&#xff0c;为实现数字化转型升级提供夯实根基。那么&#xff0c;低代码表单设计器拥有什么样的特点&#xf…

志愿服务暖人心,村委致谢送锦旗

“衷心感谢济宁市运河义工服务协会对我们村里的大学生凯凯一直以来的关注和帮扶。真是太谢谢您们了&#xff0c;如不是您们的帮助孩子也不能那么放心地去上大学&#xff0c;毕竟家里有从小就相依为命的年迈的奶奶&#xff0c;是他一直的担心和牵挂&#xff0c; 咱们协会不仅对孩…

Django中间件与csrf

一. django中间件 1. 什么是django中间件 # django中间件是django的门户1. 请求来的时候需要先经过中间件才能到达真正的django后端2. 响应走的时候最后也需要经过中间件才能发送出去 2. django中间件的个数 django自带七个中间件, 分别是SecurityMiddleware, SessionMiddle…

Linux宝塔面板搭建Discuz论坛, 并内网穿透实现公网访问

Linux宝塔面板搭建Discuz论坛&#xff0c; 并内网穿透实现公网访问 文章目录 Linux宝塔面板搭建Discuz论坛&#xff0c; 并内网穿透实现公网访问前言1.安装基础环境2.一键部署Discuz3.安装cpolar工具4.配置域名访问Discuz5.固定域名公网地址6.配置Discuz论坛 &#x1f4f7; 江池…

深兰科技“汉境”入选2023年湖北省人工智能十大优秀应用案例

11月18日&#xff0c;央视“专精特新制造强国”城市大会在湖北武汉召开。会上&#xff0c;正式发布了“湖北省工业互联网标识十大优秀应用案例”&#xff0c;由深兰科技(武汉)股份有限公司基于AIGC多模态融合大模型技术开发打造的江汉路步行街元宇宙场景应用——汉境&#xff0…

Python爬虫基础教程之urllib和requests的区别详解

文章目录 前言1、获取网页数据第一步&#xff0c;引入模块。第二步&#xff0c;简单网页发起的请求。第三步&#xff0c;数据封装。 2、解析网页数据3.保存数据关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项…

关于ElectronVue3中集成讯飞星火AI

前言&#xff1a;我的最终目的是为了在QQ上集成一个AI机器人&#xff0c;因此在这里先实现一个简单的集成 先上效果图 总体还是很简单的&#xff0c;我在调用websock获取回复内容的基础上另外集成了一个事件总线&#xff0c;让我们在调用获取消息的时候能够更加方便快捷 工具代…

【SwiftUI】7.预览及其内部机制

上一篇讲到了组件及组件化&#xff0c;从概念和优/缺点两个方向说明了组件化的意义&#xff0c;更为重要的是&#xff0c;组件和组件化是一个在编程领域&#xff0c;放之四海皆可以的概念&#xff0c;理解和运用它是非常必要的&#xff0c;希望大家能掌握。今天我们介绍另一个特…