博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数组扁平化
阅读量:4451 次
发布时间:2019-06-07

本文共 2138 字,大约阅读时间需要 7 分钟。

数组扁平化函数flat: var arr = ['a','b',['1','2',['3','4']],'c'];        /*方法一:*/        function flat(arr){            var result = [];            var each = function(arr){                arr.forEach(function(i){                    if(i instanceof Array){                        each(i);                    } else {                        result.push(i);                    }                });            }            each(arr);            return result.join(',');        }        var result = flat(arr);        console.log(result);         /*方法二:*/        function flat(arr){            var stringValue = Array.prototype.toString;            Array.prototype.toString = function(){                return this.join(',');            }            var result = arr + '';            Array.prototype.toString = stringValue;            return result;        }        /*方法三:*/        function flat(){            var Value = Array.prototype.valueOf;            Array.prototype.valueOf = function(){                return this.join(',');            }            var result = arr + '';            Array.prototype.valueOf = Value;            return result;        }        /*方法四:*/        Array.prototype[Symbol.iterator] = function(){ //ES6中Symbol类型            var arr = [].concat(this);            var getfirst = function(array){                var first = array.shift();                return first;            };            return {                next: function(){                    var item = getfirst(arr);                    if(item){                        return {                            value: item,                            done: false                        };                    } else {                        return {                            done: true                        };                    }                }            }        };        function flat(arr){            var result = [];            for(var i in arr){                result.push(i);            }            return result.join(',');        }                var result = flat(arr);        console.log(result);

 

转载于:https://www.cnblogs.com/wuting/p/9250041.html

你可能感兴趣的文章
Laravel LTS 分割 路由文件的最佳方式
查看>>
什么是python?
查看>>
Flat files upload(本地文件数据上载)(二)
查看>>
Java反射机制
查看>>
java并发:原子类之AtomicLong
查看>>
mysql视图初探
查看>>
测试分类
查看>>
找回被丢弃怎么找都找不回来的git中的commit
查看>>
Azure 上 Linux 虚拟机 Mac 地址的持久化
查看>>
2019-8-10 考试总结
查看>>
hdu 4308 Saving Princess claire_(bfs,4级)
查看>>
JAVA学习之工厂方法模式,工厂类用反射功能实现
查看>>
C# Java 3DES加密解密 扩展及修正\0 问题
查看>>
C# ThreadState属性分析
查看>>
C#request 请求响应
查看>>
bzoj3745: [Coci2015]Norma 分治,单调队列
查看>>
HDU 2612 Find a Way
查看>>
如何实时查看mysql当前连接数?
查看>>
C#串口通信:MSComm控件使用详解
查看>>
配置maven和创建maven项目
查看>>