我想在JavaScript中使用这样的字符串

时间:2017-01-19 05:43:57

标签: javascript jquery

我有这样的JSON字符串数组:

var stringold= [
    {"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
    {"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
]

请查看以下链接了解详细信息,我想要实现的目标 -

https://datatables.net/examples/data_sources/js_array.html

var newstring=[
    ["aptid":1,"businesname":"skulink","ownrnm":"rajiv"],
    ["aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"]
]

3 个答案:

答案 0 :(得分:0)

尝试迭代通过对象数组,对于第一个对象,只需获取列名称,使其全部相同,并且所有对象都迭代它以生成数据



var stringold= [
{"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
{"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
]

var columns = [];
var data = [];

//using forEach
/*stringold.forEach(function(ele,ind){ 
  var dummy = [];
  for(var prop in ele){
    if(ind == 0){
      columns.push({title:prop})  
    }
    
    dummy.push(ele[prop]);
  }
  data.push(dummy);
  
});*/

//using loop
for(var i=0;i<stringold.length;i++){ 
  var ele = stringold[i]
  var dummy = [];
  for(var prop in ele){
    if(i == 0){
      columns.push({title:prop})  
    }
    
    dummy.push(ele[prop]);
  }
  data.push(dummy);
  
};
console.log(columns,data);
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您可以迭代对象,然后迭代对象的键并映射值。

var arrayOld = [{ aptid: 1, businesname: "skulink", ownrnm: "rajiv" },{ aptid: 2, businesname: "prodegios", ownrnm: "sanjeev" }],
    arrayNew = arrayOld.map(function (o) {
        return Object.keys(o).map(function (k) {
            return o[k];
        });
    });

console.log(arrayNew);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 2 :(得分:-1)

新闻串甚至是一种合法的语法......你试图扭曲一个对象周围的数组。让我猜你正试图访问你的代码,但你不知道如何使用对象访问它。在这里,你去了好友;

&#13;
&#13;
var stringold= [
  {"aptid":1,"businesname":"skulink","ownrnm":"rajiv"},
  {"aptid":2,"businesname":"prodegios","ownrnm":"sanjeev"}
];
//Access aptid of the first line
id = stringold[0].aptid;
//Access businesname from all lines & change their value
for (i = 0; i < stringold.length; i++) { 
    stringold[0].businesname = "businesplaceholder";
}
//get keynames
a = stringold[0];
myKeys = Object.keys(a);
console.log(myKeys);
//loop through first object
b = stringold[0];
for (key in b) { 
    console.log(b[key])
}
//add something to the first object
stringold[0].newVal = "Value";
//so to add this for all lines
for (j= 0; j < stringold.length; j++) { 
    stringold[j].newVal = "Value";
}
//Brute force single key
//here's a fix for e['datakey[f]'] >> e[x]
vix = function(e,f){
	a = "string";
	e[a] = datakey[f];
	x = e.string;
	end = e[x];
	delete e.string;
	return end;
};
a = stringold[0];
vix(a,1); //for a.businesname

//here's a fix to define that variable
vox = function(e,f,string){
	a = "string";
	e[a] = datakey[f];
	x = e.string;
	end = e[x] = string;
	delete e.string;
};
a = stringold[0];
vox(a,1,"newname"); //for a.businesname
&#13;
&#13;
&#13;