`
yiminghe
  • 浏览: 1460374 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

嵌套数组的平坦化

阅读更多

问题:


jquery中大量用到了 array-like 的操作,不可避免遇到了数组嵌套的问题:

 

var x=[1,2,[3,4]];

 

这样的话,就不容易 each 循环操作了,所以需要转化为

 

var x=[1,2,3,4];

 

jquery 经常遇到的是 一维数组中添加元素,而元素又可能是一维数组的情况,如果每一步结果都转化位一维数组,则只需考虑两维数组的嵌套化问题,则

 

var x=[1,2,[3,4,[7,8]]];

 

不在考虑之列。(这种情况当然可以递归处理得到结果)



解决:


首先要看 apply ,它的第二个参数恰好要求是数组形式,则很幸运的处理了结果数组的第一层嵌套 :


function.apply(thisobj, args)

thisobj


The object to which function is to be applied. In the body of the function, thisobj becomes the value of the this keyword. If this argument is null, the global object is used.

args


An array of values to be passed as arguments to function.

Returns

Whatever value is returned by the invocation of function.

另一方面 ,数组的  concat 方法 ,可能变长参数传入,并且参数为数组时自动循环参数数组操作:


concat( ) creates and returns a new array that is the result of concatenating each of its arguments to array. It does not modify array. If any of the arguments to concat( ) is itself an array, the elements of that array are concatenated, rather than the array itself.



结果代码:


于是就有了jquery map 中非常巧妙的平坦化操作 :

 

var x=[1,2,[3,4]];
alert(x.join("|"));
alert([].concat(x).join("|"));
//正确结果
alert(x.concat.apply([],x).join("|"));
 

 

0
0
分享到:
评论

相关推荐

    去除控制流平坦化的defalt脚本

    "去除控制流平坦化"是一个逆向工程中的概念,通常涉及到对二进制代码或汇编语言的分析,以理解其原本的逻辑结构。控制流平坦化是一种用于混淆代码的技术,它使得恶意代码更难以被静态分析工具解析。这种技术通过消除...

    控制流平坦化还原示例代码,采用ast技术

    控制流平坦化(Control Flow Flattening)是一种常见的代码混淆技术,旨在通过打乱程序的控制流结构,使其难以理解和分析。在这种技术中,程序的正常控制流(如条件分支、循环等)被替换为一种平坦化的结构,通常是...

    行业分类-设备装置-晶圆表面平坦化的方法.zip

    晶圆表面平坦化是半导体制造过程中的关键技术之一,它对集成电路的性能、可靠性和良率具有重大影响。在现代微电子技术中,随着晶体管尺寸的不断缩小,晶圆表面的平坦化变得越来越重要,因为它有助于确保各层之间的...

    半导体材料系列:CMP–晶圆平坦化必经之路,国产替代放量中.pdf

    半导体材料系列:CMP–晶圆平坦化必经之路,国产替代放量中,这一主题深度探讨了CMP(Chemical Mechanical Polishing,化学机械抛光)技术在半导体材料加工中的重要性及其发展趋势。CMP技术是实现晶圆表面高度平坦化...

    半导体平坦化制造工艺技术概述.pdf

    半导体平坦化制造工艺是半导体制造过程中至关重要的一环,对于制造具有高度集成度的微电子器件至关重要。平坦化技术可以确保在多层金属互连结构中,每一层之间的表面都是平滑的,这对于光刻工艺、互连结构的稳定性...

    行业分类-设备装置-表面平坦化.zip

    在IT行业中,表面平坦化是一项重要的技术,尤其在半导体制造和显示器生产等领域。表面平坦化技术主要用于确保在微小尺度上的精确定位和操作,它能够消除或减少半导体芯片、显示器面板等器件表面的不平整,提高设备...

    行业分类-设备装置-用于提供可平坦化的工件支承件的方法、工件平坦化装置和卡盘.zip

    标题中的“行业分类-设备装置-用于提供可平坦化的工件支承件的方法、工件平坦化装置和卡盘”表明这是一个关于机械工程或者精密加工技术的专题,具体涉及工件支承件的设计、制造以及相关设备。工件支承件在机械加工中...

    js代码-将一个非扁平化的数字类型的数组拍平的Generator实现

    这里的关键在于,Generator函数可以处理任意深度的嵌套数组,因为它使用了递归调用来处理子数组。 此外,`README.txt`文件可能包含关于这个代码实现的更多上下文或使用说明,例如如何运行或测试代码,以及可能的...

    半导体平坦化制造工艺技术概述.pptx

    半导体平坦化制造工艺技术概述.pptx

    行业分类-设备装置-固体表面平坦化方法及其装置.zip

    在电子制造领域,固体表面平坦化是一项至关重要的工艺,它涉及到半导体、光学器件以及显示器等多个行业。本主题的焦点在于一种特殊的固体表面平坦化方法及其使用的装置,这对于我们理解现代微电子制造流程具有深远...

    行业文档-设计装置-晶圆的平坦化方法.zip

    在半导体制造过程中,晶圆的平坦化方法是一个至关重要的步骤,它直接影响到集成电路的性能、可靠性和制造成本。本文将详细探讨晶圆平坦化的必要性、主要方法以及这些方法的技术细节。 晶圆平坦化的重要性源于现代微...

    行业分类-设备装置-利用气体团簇离子束的固体表面平坦化方法及固体表面平坦化设备.zip

    在电子制造领域,固体表面平坦化是至关重要的工艺步骤,特别是在半导体器件的制造过程中。标题“行业分类-设备装置-利用气体团簇离子束的固体表面平坦化方法及固体表面平坦化设备”揭示了该技术主要关注的是通过气体...

    行业文档-设计装置-层间介电层平坦化制造方法.zip

    层间介电层平坦化(Interlayer Dielectric Flatting,简称ILD Flatting)是半导体制造工艺中的关键步骤,尤其在微电子技术中扮演着至关重要的角色。这一过程旨在确保芯片表面的各层材料,如金属连线、绝缘层等,具有...

    行业分类-设备装置-半导体平坦化用研磨剂.zip

    在IT行业中,半导体制造是一个至关重要的领域,而平坦化技术是半导体工艺中的核心步骤之一。研磨剂在这一过程中扮演着关键角色。本文件“行业分类-设备装置-半导体平坦化用研磨剂.zip”包含了关于这个专业领域的详细...

    行业分类-设备装置-一种非晶硅平坦化方法.zip

    非晶硅平坦化技术在电子行业中扮演着至关重要的角色,特别是在半导体制造领域。非晶硅(a-Si)是薄膜晶体管(TFT)的重要组成部分,广泛应用在显示器、太阳能电池和其他电子器件上。这种材料的平坦化对于提高器件...

    行业分类-设备装置-一种半导体平坦化层的制作方法.zip

    在电子制造领域,半导体工艺是核心部分,而平坦化层的制作则是半导体器件制程中的关键步骤。"一种半导体平坦化层的制作方法"着重探讨了如何通过创新技术来优化这个过程,提升芯片性能和良率。以下是关于这一主题的...

    Optisystem+RFA(拉曼光纤放大器)增益平坦化

    在本主题中,我们将深入探讨Optisystem软件如何模拟和优化RFA的增益平坦化技术。 Optisystem是一款强大的光通信系统仿真软件,它允许用户设计、分析和优化各种光网络系统,包括光纤放大器的设计。RFA利用光纤介质内...

    行业分类-设备装置-堆积膜的平坦化方法.zip

    在IT行业中,尤其是在半导体制造和微电子工程领域,堆积膜的平坦化方法是至关重要的一个环节。这个主题涉及到设备装置的设计、工艺优化以及材料科学等多个方面。标题“行业分类-设备装置-堆积膜的平坦化方法”暗示了...

    行业文档-设计装置-用于铝酸锂晶体材料的高精密平坦化方法.zip

    本篇文章将深入探讨针对铝酸锂晶体材料的高精密平坦化方法,这是确保这些器件性能稳定、提高其工作效能的关键步骤。 首先,我们要理解铝酸锂晶体的特性。铝酸锂是一种无机化合物,具有优异的热稳定性和化学稳定性,...

    行业分类-设备装置-加工表面高平坦化方法及其装置.zip

    在现代制造业中,加工表面的高平坦化技术是至关重要的,尤其在精密工程、半导体制造、光学器件等领域。"行业分类-设备装置-加工表面高平坦化方法及其装置"的主题聚焦于这一关键技术,旨在提高产品的质量和性能。下面...

Global site tag (gtag.js) - Google Analytics