Javascript 将输入中的数据值保存到多维数组中
通过这种方式,我希望将数据保存在一个数组中,读取如下输入值:Javascript 将输入中的数据值保存到多维数组中,javascript,multidimensional-array,Javascript,Multidimensional Array,通过这种方式,我希望将数据保存在一个数组中,读取如下输入值: var dataArray = []; dataArray.push({ items: [] }); var items = $('#services_hidden').val(); var itemsArray = items.split(","); console.log("itemsArray: " + itemsArray); $.each( itemsArray, function( index, value ){
var dataArray = [];
dataArray.push({ items: [] });
var items = $('#services_hidden').val();
var itemsArray = items.split(",");
console.log("itemsArray: " + itemsArray);
$.each( itemsArray, function( index, value ){
dataArray[0].items.push(value);
});
console.log("dataArray " + JSON.stringify(dataArray));
但我想要这个,我希望我能正确地表明这一点:
dataArray [{"items":["item1","value1","item2,"value2"]}]
因此父项是items,services_hidden.val中的每两个值用逗号分隔,应该创建一个key:value对
要实现这一点,我需要在代码中做哪些更改?在分割数组上循环,除了按2递增。这样,每次迭代,itemsArray[i]是键,itemsArray[i+1]是值
dataArray [{"items":{"item1:value1"},{"item2:value2"}}]
在分割数组上循环,除了按2递增。这样,每次迭代,itemsArray[i]是键,itemsArray[i+1]是值
dataArray [{"items":{"item1:value1"},{"item2:value2"}}]
你可以用它来做这件事
//按id选择元素并获取值
var val=document.getElementById'services_hidden'。值;
//在处拆分值,并创建数组
var ar=val.split',';
//使用reduce返回数据数组变量中的结果
var data_array=ar.reduceFunction,e,i{
//若元素的索引是奇数,那个么将具有上一个索引号的数组元素和当前元素相加到结果中
如果i%2 r[0]。items=r[0]。items | |[]。concat{
[ar[i-1]]:e
};
//返回结果数组。
返回r;
}, [{}];
//将结果添加到HTML
document.body.innerHTML+=;
你可以用它来做这件事
//按id选择元素并获取值
var val=document.getElementById'services_hidden'。值;
//在处拆分值,并创建数组
var ar=val.split',';
//使用reduce返回数据数组变量中的结果
var data_array=ar.reduceFunction,e,i{
//若元素的索引是奇数,那个么将具有上一个索引号的数组元素和当前元素相加到结果中
如果i%2 r[0]。items=r[0]。items | |[]。concat{
[ar[i-1]]:e
};
//返回结果数组。
返回r;
}, [{}];
//将结果添加到HTML
document.body.innerHTML+=;
我建议使用,因为它访问每个元素并对其进行处理
var val=document.getElementById'services_hidden'。值,
数据_数组=[{items:[]}];
数据_数组[0]。项;
val.split','ForeachFunction,i{
var o={};
如果我&1{
o[this.key]=a;
数据数组[0]。items.pusho
回来
}
this.key=a;
},{key:null};
document.body.innerHTML+=;
我建议使用,因为它访问每个元素并对其进行处理
var val=document.getElementById'services_hidden'。值,
数据_数组=[{items:[]}];
数据_数组[0]。项;
val.split','ForeachFunction,i{
var o={};
如果我&1{
o[this.key]=a;
数据数组[0]。items.pusho
回来
}
this.key=a;
},{key:null};
document.body.innerHTML+=;
让我们坚持您的原始格式,尽可能简单: var dataArray=[]; dataArray.push{items:[]}; var items=item1,value1,item2,value2,item3,value3;//$'服务隐藏。val var itemsArray=items.split,; 对于var i=0;i
for (let i = 0; i < itemsArray.length; i += 2) {
let key = itemsArray[i];
let value = itemsArray[i + 1];
dataArray[0].items.push(key + ':' + value);
}