javascript - 创建星号分隔字符串的 JavaScript 对象

标签 javascript jquery

我有三个字符串。

var ids = "1*2*3";
var Name ="John*Brain*Andy";
var Code ="A12*B32*C38";

我想创建它的 JavaScript 对象。

最佳答案

JSON 对象只是一个字符串,因此它是:

var json = '{"ids":"'+ids+'","Name":"'+Name+'","Code":"'+Code+'"}';

如果要将字符串转换为字符串数组:

var json = '{"ids":["'+ids.replace(/\*/g,'","')+'"],"Name":["'+Name.replace(/\*/g,'","')+'"],"Code":["'+Code.replace(/\*/g,'","')+'"]}';

如果您根本不是在寻找 JSON,而是实际上是一个 Javascript 对象,那么它会是:

var obj = {
  ids: ids.split('*'),
  Name: Name.split('*'),
  Code: Code.split('*')
};

根据您的描述“我希望数组的第一项具有三个属性,即 Id、名称和代码,值分别为 1、John、A12。”但它会完全不同:

var Ids = ids.split('*'), names = Name.split('*'), codes = Code.split('*');
var arr = [];
for (var i = 0; i < Ids.length; i++) {
  arr.push({ Id: Ids[i], name: names[i], code: codes[i] });
}

如果你想要 JSON 格式,那就是:

var Ids = ids.split('*'), names = Name.split('*'), codes = Code.split('*');
var items = [];
for (var i = 0; i < Ids.length; i++) {
  items.push('{"Id":"'+Ids[i]+'","name":"'+names[i]+'","code":"'+codes[i]+'"}');
}
json = '[' + items.join(',') + ']';

(注意:最后的代码只有在字符串不包含任何引号时才能正常工作,否则在放入字符串时必须对其进行转义。)

关于javascript - 创建星号分隔字符串的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3075288/

相关文章:

javascript - dom 中的属性但在 jQuery 选择器中不可用

javascript - 在 asp.net 中单击按钮时显示 gif,并在函数完成后隐藏

javascript - 当括号中的变量值破坏我的 addClass 时,jquery 是转义括号

javascript - 将 xmlhttp javascript 转换为 jquery

javascript - 选择页面上的特定文本并将其删除

javascript - 访问附加元素的对象

淡出前的 JQuery 延迟

javascript - 为按钮添加点击噪音

javascript - Chai:如何使用 'should' 语法测试未定义

javascript - 单击确认不工作