如何使用jQuery/JS获取数组格式input输入框的键名与对应值
键值映射提取实现方案
核心实现代码
const paramMap = {}; $('input[name^="parameter"]').each(function () { const nameStr = $(this).attr('name'); const matchRes = nameStr.match(/\['([^']+)'\]/); // 仅匹配到合法键名时才存入映射 if (matchRes?.[1]) { paramMap[matchRes[1]] = $(this).val(); } }); // 业务中直接使用paramMap对象即可,输出示例:{ abc: 'first value', zxv: 'second value' }
格式转换(适配需求展示效果)
需求中给出的期望输出用[]包裹键值对不符合JS原生语法,仅需做格式展示的话可以用以下代码转换:
const showFormat = JSON.stringify(paramMap, null, 2) .replace(/"/g, "'") .replace(/^{/, '[') .replace(/}$/, ']'); console.log(showFormat);
输出结果:
[ 'abc': 'first value', 'zxv': 'second value' ]
逻辑说明
- 遍历所有name属性以
parameter开头的input元素 - 通过正则匹配捕获name属性中单引号包裹的自定义键名
- 逐一把键名和对应input的value存入对象,完成映射关系构建
内容的提问来源于stack exchange,提问作者Human Code
相关产品推荐
相关产品推荐

