js数组转换问题
一维数组转多维数组
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数组转换问题的更多相关文章
- js数组转换成json串 (JSON.stringify)
例如: var giftlist[1490011777] = []; giftlist[1490011777]['id'] = 1490011777; giftlist[1490011777]['na ...
- Json字符串与js数组互相转换
1.Json数据格式的字符串转换成js数组: JSON.parse(str); // str 字符串格式 2.js数组转换成Json数据格式字符串: var myJSONText = JSON.s ...
- js 判断是否为数组的方式 及 类数组转换成数组格式
1. 判断是否为数组的通用方式 Object.prototype.toString.call(o)=='[object Array]' 其他方式: typeof , instanceof, ary ...
- js将一个具有相同键值对的一维数组转换成二维数组
这两天,一个前端朋友在面试的笔试过程中遇到了一道类似于"用js实现将一个具有相同code值的一维数组转换成相同code值在一起的二维数组"的题目.他面试过后,把这个问题抛给了我,问 ...
- js数组,字符串,json互相转换函数有哪些
js数组,字符串,json互相转换函数有哪些 一.总结 一句话总结: JSON.stringify(arr) JSON.parse(jsonString) str.split('') array.jo ...
- js冒泡法和数组转换成字符串示例代码
将数组转换成字符串的方法有很多,讲解下js冒泡法的使用.js代码: //js冒泡法与数据转换为字符串的例子 //整理:www.jbxue.com window.onload = function(){ ...
- js冒泡法和数组转换成字符串
js代码: window.onload = function(){ var mian = document.getElementById( "mian" ); var mian1 ...
- JS里的居民们7-对象和数组转换
编码 学习通用的数据用不同的数据结构进行存储,以及相互的转换 对象转为数组: var scoreObject = { "Tony": { "Math": 95, ...
- js对象、数组转换字符串
对象转换成字符串需要使用toString()方法. 1 var a = function(){ 2 console.log(111); 3 }; 4 var b = a.toString(); 5 c ...
随机推荐
- iOS 10 跳转系统设置
苦心人天不负, 为了项目终于把 iOS 10 跳转系统设置的方法给搞定了, 很欣慰. http://www.cnblogs.com/lurenq/p/6189580.html iOS 10 跳转系统设 ...
- DockerCon 2016 – 微软带来了什么?
根据Forrester的调查,接近半数的企业CIO在考虑IT架构的时候更乐于接受开源方案,这主要是基于低成本,避免供应商锁定和敏捷的需求:同时另外一家North Bridge的调研机构的调查显示,20 ...
- 如何区别exists与not exists?
1.exists:sql返回结果集为真:not exists:sql不返回结果集为真.详解过程如图: exists not exists
- 第11章 Linux服务管理
1. 服务分类 (1)Linux的服务 ①Linux中绝大多数的服务都是独立的,直接运行于内存中.当用户访问时,该服务直接响应用户,其好处是服务访问响应速度快.但不利之处是系统中服务越多,消耗的资源越 ...
- .Net中的AOP系列之《单元测试切面》
返回<.Net中的AOP>系列学习总目录 本篇目录 使用NUnit编写测试 编写和运行NUnit测试 切面的测试策略 Castle DynamicProxy测试 测试一个拦截器 注入依赖 ...
- GO基础(二)
本例中梳理go语言中的协程和通道. package main import ( "fmt" "time" ) //func01.func02 为演示同步机制 f ...
- Spring7:基于注解的Spring MVC(下篇)
Model 上一篇文章<Spring6:基于注解的Spring MVC(上篇)>,讲了Spring MVC环境搭建.@RequestMapping以及参数绑定,这是Spring MVC中最 ...
- Lesson 18 He often does this!
Text After I had had lunch at a village pub, I looked for my bag. I had left it on a chair beside th ...
- JAVA通信系列二:mina入门总结
一.学习资料 Mina入门实例(一) http://www.cnblogs.com/juepei/p/3939119.html Mina入门教程(二)----Spring4 集成Mina http:/ ...
- Android中自定义样式与View的构造函数中的第三个参数defStyle的意义
零.序 一.自定义Style 二.在XML中为属性声明属性值 1. 在layout中定义属性 2. 设置Style 3. 通过Theme指定 三.在运行时获取属性值 1. View的第三个构造函数的第 ...