使用随机数组创建映射 json 对象
Posted
技术标签:
【中文标题】使用随机数组创建映射 json 对象【英文标题】:Map json Object with randomise array creation 【发布时间】:2018-05-17 14:03:05 【问题描述】:我有 JSON 对象和数组
sampleJson="id":1,"option1":"","option2":"","option3":""
sampleArray=["car","","Animals"]
我想以下列格式将 sampleArray 添加到 sampleJson
sampleJson="id":1,"option1"="car","option2":"Animals","option3":""
样本数组将像["","car",""] Or ["","animal","Car"]?
一样随机化
【问题讨论】:
您希望将sampleArray
元素分配为options
的顺序是什么?
【参考方案1】:
var sampleJson="id":1,"option1":"","option2":"","option3":""
var sampleArray=["car","","Animals"];
var count = 1;
sampleArray.forEach(function(ele)
if(ele.length)
sampleJson['option' + count] = ele;
count++;
)
console.log(sampleJson);//id: 1, option1: "car", option2: "Animals", option3: ""
【讨论】:
如果 sampleArray=["","fruits","cars"] 它显示 sampleJson="id":1,"option2":"fruits","option3":"car " 我想要它作为 sampleJson="id":1,"option1":"fruits","option2":"car","option":"" 你如何决定你想要的选项值的顺序。例如,您如何确定option1
是 fruit
和 option2
是 car
实际上我在输入框的角度 2 中使用两种方式绑定,它们是我们提供的 3 个输入框,在这种情况下至少 1 个是强制性的......如果用户在第 2 和在这种情况下,第三个文本框我必须管理这种 json 格式......他们将是任何情况
嗨@Ash,我已根据您的要求编辑了我的答案。请检查它是否适合您。【参考方案2】:
感谢您的帮助,我找到了解决方案
var i=1;
sampleData.forEach(element =>
if(element.length != 0)
sampleJson['option'+i]=element;
i++;
);
【讨论】:
【参考方案3】:var sampleJson="id":1,"option1":"","option2":"","option3":""
var sampleArray=["car","","Animals"]
Object.keys(sampleJson).filter(function(k)
return k.includes('option');
).forEach(function(k,i)
if (sampleArray.length > i)
sampleJson[k] = sampleArray[i];
);
console.log(sampleJson)
希望对你有帮助!
【讨论】:
noo.. 上面的代码显示 "id":1,"option1":"","option2":"car","option3":"fruits" for sampleArray=["" ,car","fruits"] 案例...以上是关于使用随机数组创建映射 json 对象的主要内容,如果未能解决你的问题,请参考以下文章