一维数组转多维数组

    var arr=[1,2,3,4,5,6,7,8,9,10]; 

    function splitArray(arr,size){

        var result = [];
var tempArray; for(var i = 0; i < arr.length; i++){
if(i%size == 0 ){
if(tempArray){
result.push(tempArray);
}
tempArray = [];
} tempArray[tempArray.length]=arr[i];
if(i+1 == arr.length){
result.push(tempArray);
} } return result; }
console.log(splitArray(arr,3)); //[[1,2,3],[4,5,6],[7,8,9],[10]]
一维数组转多维数组并去重
var arr=[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,7,8,9]; 

    function splitArray(arr,size){

        var result = [];
var tempArray; for(var i = 0; i < arr.length; i++){
if(i%size == 0 ){
if(tempArray){
result.push(tempArray);
}
tempArray = [];
} tempArray[tempArray.length]=arr[i];
if(i+1 == arr.length){
result.push(tempArray);
} } return result; } Array.prototype.unique = function(){ var json = {},result=[]; for(var i = 0; i < this.length; i++){
if (!json[this[i]]){
json[this[i]] = 1;
result.push(this[i]);
}
} return result; } console.log(splitArray(arr,3)); //[[1,2,3],[4,5,6],[7,8,9],[10,11,12],[1,2,3],[7,8,9]]
console.log(splitArray(arr,3).unique()); //[[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
一维数组转对象数组(三维)
  var arr=[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,7,8,9];
function splitArray(arr){ var json = {};
var arr1 = []; for(var i=0;i<arr.length;i++){
if( i%3==0 ){
json.x = arr[i];
}else if( i%3==1 ){
json.y = arr[i];
}else if( i%3==2 ){
json.z = arr[i];
arr1.push(json);
json={};
}
} return arr1; }
console.log(splitArray(arr)); //[{x:1,y:2,z:3},{x:4,y:5,z:6},{x:7,y:8,z:9},{x:10,y:11,z:12},{x:1,y:2,z:3},{x:7,y:8,z:9}]
一维数组转对象数组(三维)并去重
var arr=[1,2,3,4,5,6,7,8,9,10,11,12,1,2,3,7,8,9];
function splitArray(arr){ var json = {};
var arr1 = []; for(var i=0;i<arr.length;i++){
if( i%3==0 ){
json.x = arr[i];
}else if( i%3==1 ){
json.y = arr[i];
}else if( i%3==2 ){
json.z = arr[i];
arr1.push(json);
json={};
}
} return arr1; } Array.prototype.unique = function(){
var json = {},arr1=[]; for(var i = 0; i < this.length; i++) {
if (!json[JSON.stringify(this[i])]) {
json[JSON.stringify(this[i])] = 1;
arr1.push(this[i]);
}
} return arr1; }
console.log(splitArray(arr)); //[{x:1,y:2,z:3},{x:4,y:5,z:6},{x:7,y:8,z:9},{x:10,y:11,z:12},{x:1,y:2,z:3},{x:7,y:8,z:9}]
console.log(splitArray(arr).unique()); //[{x:1,y:2,z:3},{x:4,y:5,z:6},{x:7,y:8,z:9},{x:10,y:11,z:12}]

js数组转换问题的更多相关文章

  1. js数组转换成json串 (JSON.stringify)

    例如: var giftlist[1490011777] = []; giftlist[1490011777]['id'] = 1490011777; giftlist[1490011777]['na ...

  2. Json字符串与js数组互相转换

    1.Json数据格式的字符串转换成js数组: JSON.parse(str); // str 字符串格式   2.js数组转换成Json数据格式字符串: var myJSONText = JSON.s ...

  3. js 判断是否为数组的方式 及 类数组转换成数组格式

    1. 判断是否为数组的通用方式 Object.prototype.toString.call(o)=='[object Array]' 其他方式: typeof ,  instanceof,  ary ...

  4. js将一个具有相同键值对的一维数组转换成二维数组

    这两天,一个前端朋友在面试的笔试过程中遇到了一道类似于"用js实现将一个具有相同code值的一维数组转换成相同code值在一起的二维数组"的题目.他面试过后,把这个问题抛给了我,问 ...

  5. js数组,字符串,json互相转换函数有哪些

    js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...

  6. js冒泡法和数组转换成字符串示例代码

    将数组转换成字符串的方法有很多,讲解下js冒泡法的使用.js代码: //js冒泡法与数据转换为字符串的例子 //整理:www.jbxue.com window.onload = function(){ ...

  7. js冒泡法和数组转换成字符串

    js代码: window.onload = function(){ var mian = document.getElementById( "mian" ); var mian1 ...

  8. JS里的居民们7-对象和数组转换

    编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = { "Tony": { "Math": 95, ...

  9. js对象、数组转换字符串

    对象转换成字符串需要使用toString()方法. 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 c ...

随机推荐

  1. PHP相关代码

    1 <html>  <head>       <meta http-equiv="content-type" content="text/h ...

  2. hadoop 2.4 遇到的问题

    不管出什么问题,首先查看日志. 在启动过hadoop的前提下,打开浏览器,输入http://localhost:50070 点击Utilities下的logs,选择hadoop-root-datano ...

  3. CYQ.Data V5 从入门到放弃ORM系列:教程 - MProc类使用

    MProc介绍 MProc:是一个用于执行SQL或存储过程的数据库操作类,它轻量高性能地类似于Dapper. MProc:它出现的场景很少,因为MAction自身就能处理掉90%-100%的数据操作( ...

  4. K-近邻算法(KNN)

    简介 k近邻算法是数据分类一种常用的算法,属于监督学习算法的一类,它采用不同特征值之的距离进行分类.K近邻算法具有精度高.对异常值不敏感.无数据输入假定的优点,缺点是计算复杂度高.空间复杂度高.适用于 ...

  5. 《MSSQL2008技术内幕:T-SQL语言基础》读书笔记(下)

    索引: 一.SQL Server的体系结构 二.查询 三.表表达式 四.集合运算 五.透视.逆透视及分组 六.数据修改 七.事务和并发 八.可编程对象 五.透视.逆透视及分组 5.1 透视 所谓透视( ...

  6. 基于 SailingEase WinForm Framework 开发客户端程序(3:实现菜单/工具栏按钮的解耦及状态控制)

    本系列文章将详细阐述客户端应用程序的设计理念,实现方法. 本系列文章以  SailingEase WinForm Framework 为基础进行设计并实现,但其中的设计理念及方法,亦适用于任何类型的客 ...

  7. handlebars自定义helper的写法

    handlebars相对来讲算一个轻量级.高性能的模板引擎,因其简单.直观.不污染HTML的特性,我个人特别喜欢.另一方面,handlebars作为一个logicless的模板,不支持特别复杂的表达式 ...

  8. LeetCode-1TwoSum(C#)

    # 题目 1. Two Sum Given an array of integers, return indices of the two numbers such that they add up ...

  9. php缓冲区详解

    什么是缓冲区(buffer)? 简单而言,缓冲区的作用就是,把输入或者输出的内容先放进内存,而不显示或者读取.至于为什么要有缓冲区,这是一个很广泛的问题,如果有兴趣,可以在网山找下资料. 其实缓冲区最 ...

  10. Linex 配置php服务器

    此文是可以参考 楼主也不是系统管理员只是迫不得已所以自己才找的  大家可以参考 .... ..... 安装apache 安装mysql 安装PHP 测试服务器 php -v 查询php的版本 就这些了 ...