从对象javascript成对匹配
我有一个javascript对象,如下所示:从对象javascript成对匹配,javascript,jquery,arrays,object,Javascript,Jquery,Arrays,Object,我有一个javascript对象,如下所示: Object {1-name: "Count", 1-value: "10", 2-name: "Colour", 2-value: "Red"} array[Count] = 10 array[Colour] = "Red" 我想从它生成键值数组,类似这样: Object {1-name: "Count", 1-value: "10", 2-name: "Colour", 2-value: "Red"} array[Count] = 10 a
Object {1-name: "Count", 1-value: "10", 2-name: "Colour", 2-value: "Red"}
array[Count] = 10
array[Colour] = "Red"
我想从它生成键值数组,类似这样:
Object {1-name: "Count", 1-value: "10", 2-name: "Colour", 2-value: "Red"}
array[Count] = 10
array[Colour] = "Red"
如何从该对象匹配配对?试试这个
var a = {"1-name": "Count", "1-value": "10", "2-name": "Colour", "2-value": "Red"};
var allkeys = Object.keys(a);
var namekeys = [];var valuekeys = [];
allkeys.forEach( function(value) {
if (value.indexOf( "name" ) != -1)
{
namekeys.push( value )
}
else
{
valuekeys.push( value );
}
});
valuekeys.sort();
namekeys.sort();
var array = {};
for ( var counter = 0; counter < namekeys.length; counter++)
{
array [ a[ namekeys[ counter ] ] ] = a[ valuekeys[ counter ] ] ;
}
console.log(array);
var a={“1-name”:“Count”,“1-value”:“10”,“2-name”:“color”,“2-value”:“Red”};
var allkeys=Object.keys(a);
var namekeys=[];var valuekeys=[];
allkeys.forEach(函数(值){
if(value.indexOf(“name”)!=-1)
{
namekeys.push(值)
}
其他的
{
valuekeys.push(值);
}
});
valuekeys.sort();
namekeys.sort();
var数组={};
用于(变量计数器=0;计数器
首先,正确定义对象
var obj = {Count: 1, Colour: "Red"};
现在您可以像数组一样访问它。这里的示例:此方案收集所有名称和值,然后使用键/值对构建所需的对象
var object={'1-name':“Count”、'1-value':“10”、'2-name':“color”、'2-value':“Red”},
结果=功能(o){
var r={},t=[];
Object.keys(o).forEach(函数(k){
var p=k.split('-');
t[p[0]]=t[p[0]]| |{};
t[p[0]][p[1]]=o[k];
});
t、 forEach(函数(a){
r[a.name]=a.value;
});
返回r;
}(对象);
document.write(“”+JSON.stringify(结果,0,4)+“”)代码>Javascript没有“关联”数组,但您可以在自己的情况下处理对象。
使用Array.map
和String.split
函数的解决方案:
问题是如何将现有对象转换为该格式,其中键名(可能)事先未知。然后他可以迭代该对象以获取对象的字段名