首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览一个表并在javascript中的两个表上共享它

浏览一个表并在javascript中的两个表上共享它
EN

Stack Overflow用户
提问于 2015-04-28 09:52:10
回答 3查看 43关注 0票数 0

我有一个表,它遵循一个定义的序列: col,name,value1,value2,value 3,col,name value1,value2,value3 ..col,name,value1,value2,value 3

代码:

代码语言:javascript
复制
 var data =["DN","Atac","1","2","3","PDA","Atac","5","6","7","EPDA","Atac","8","9","11","DN Potentielle","Atac","14","4","8"] ;

我尝试拆分数据表col、name、value: Code结果:

代码语言:javascript
复制
var column = ["DN","PDA","EPDA","DN Potentielle"];
var name ="Atac";
var values =[ "1","2","3","5","6","7","8","9","11","14","4","8"];

如果没有大量的代码,最简单的方法是如何做到的呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-04-28 10:03:46

如果您确信您的数据是一致的,并且可以依赖您编写的结构,那么最简单的是:

代码语言:javascript
复制
var column = [];
var name = [];
var values = [];
for (var i = 0; i < data.length; i = i+5) {
    column.push(data[i]);
    name.push(data[i+1]);
    values.push(data[i+2]);
    values.push(data[i+3]);
    values.push(data[i+4]);
};

name = name.filter(function(value, index, self) { 
    return self.indexOf(value) === index;
});

console.log(column); //["DN","PDA","EPDA","DN Potentielle"]
console.log(name); //["Atac"]
console.log(values); //["1", "2", "3", "5", "6", "7", "8", "9", "11", "14", "4", "8"]

小提琴

票数 1
EN

Stack Overflow用户

发布于 2015-04-28 10:05:38

设置一个对象来保存以下值:

代码语言:javascript
复制
var obj = { column: [], name: null, values: [] };

然后以5组形式循环数组,将各种元素添加到对象中:

代码语言:javascript
复制
for (var i = 0, l = data.length; i < l; i+=5) {
  obj.column.push(data[i]);
  obj.name = data[i + 1];

  // push.apply is a neat way of concatenation that doesn't
  // require the creation of a new variable
  obj.values.push.apply(obj.values, data.slice(i + 2, i + 5));
}

演示

票数 0
EN

Stack Overflow用户

发布于 2015-04-28 10:06:34

我试图找出您想要的内容,最好的方法是检索数字值和字符串值,而不分割它。

代码语言:javascript
复制
var data =["DN","Atac","1","2","3","PDA","Atac","5","6","7","EPDA","Atac","8","9","11","DN Potentielle","Atac","14","4","8"] ;
var columns = [];
var values = [];
$.each(data, function(k, v) {
    var parsedValue = parseInt(data[k]);
    if ( ! isNaN(parsedValue) ) {
        values.push(parsedValue);
    } else {
        columns.push(v);
    }

});
console.log(columns);
console.log(values);

演示:http://jsfiddle.net/bzryqs84/1/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29916051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档