检查对象中逗号分隔的字符串
Check object for comma separated strings
我在Javascript中有以下对象:
{
birthdate: "25/11/2015",
coccidiose: "on",
giardia: "on",
holiday: "on",
holidaycountrycheck1: "on",
holidayenddate: "03/12/2015",
holidayeurope: "true",
holidaystartdate: "02/12/2015",
name: "qsdf",
treatmentstartdate: "18/11/2015",
type: "cat",
vaccinaties: "11/11/2015, 18/11/2015",
weight: "qsd"
}
这个对象是在提交表单时以以下方式生成的:
$('.js--submit-form__add-animal').on('click', function (e) {
e.preventDefault();
dataArray = $(this).closest('form').serializeArray(),
len = dataArray.length,
dataObj = {};
for(i = 0; i < len; i++) {
if(([dataArray[i].name] in dataObj)) {
dataObj[dataArray[i].name] = dataObj[dataArray[i].name] + ", " + dataArray[i].value;
} else {
dataObj[dataArray[i].name] = dataArray[i].value;
}
}
console.log(dataObj);
});
正如您所看到的,"疫苗接种"有一个逗号分隔的字符串。我想(动态)检查dataObj并将所有逗号分隔的字符串更改为数组。这里的正确方法是什么?
- 循环对象
- 检查值是否恒定
,
- 用逗号拆分以获得数组
var obj = {
birthdate: "25/11/2015",
coccidiose: "on",
giardia: "on",
holiday: "on",
holidaycountrycheck1: "on",
holidayenddate: "03/12/2015",
holidayeurope: "true",
holidaystartdate: "02/12/2015",
name: "qsdf",
treatmentstartdate: "18/11/2015",
type: "cat",
vaccinaties: "11/11/2015, 18/11/2015",
weight: "qsd"
};
// Get array of keys and loop over it
Object.keys(obj).forEach(function(e) {
if (obj[e].indexOf(',') > -1) {
// If value contains `,` then split it by , with prev/next spaces
obj[e] = obj[e].split(/'s*,'s*/);
}
});
document.getElementById('result').innerHTML = JSON.stringify(obj, 0, 4);
console.log(obj);
<pre id="result"></pre>
相关文章:
- 在 Javascript 中将对象连接为空格分隔字符串的最简单方法是什么?
- 在 JavaScript 和 PHP 中用逗号换行分隔字符串
- JS - 用句点分隔字符串以满足特定的字符长度
- Javascript 正则表达式用于逗号分隔字符串
- 如何在Javascript中去除破折号分隔字符串的最后一个元素
- 如何传递逗号分隔字符串以选择 Angular js 中的选项
- 删除逗号分隔字符串内的字符串
- 将逗号分隔字符串数组转换为不同的数组
- 如何从分隔字符串创建数组
- 获取表单中选中复选框的值以分隔字符串(动态命名)
- 使用 JavaScript 分隔字符串
- 用空格分隔字符串,但不能在括号内
- JavaScript用空白分隔字符串
- 用空格和短划线分隔字符串
- 效率JSON与Javascript中的分隔字符串
- 逗号分隔字符串的总和
- 用逗号分隔字符串,但在JavaScript中未转义
- 如何在正则表达式中用一个S或E字符和JavaScript中的数字分隔字符串
- 提取逗号分隔字符串中的任何单词
- 如何使用子字符串打印分隔字符串