javascript - JSON.stringify 序列化数组出现问题
天蓬老师
天蓬老师 2017-04-10 15:57:15
[JavaScript讨论组]

本意是想过滤掉数组中的值为null的项,但是却发现了一个神奇的问题,代码如下

        var arr = [1,2,3,null,5];

        JSON.stringify(arr,function(key,value){
            if (value === null) {
                return undefined;
            } else {
                return value;
            }
        })

在最新的firefox 41和chrome 45中均存在这个问题
运行返回的结果是

"[1,2,3,null,5]"

很明显,null没有被过滤掉,经过调试,发现函数第一次执行时,value的值居然是整个数组,这是怎么回事?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
PHP中文网

Note: You cannot use the replacer function to remove values from an array. If you return undefined or a function then null is used instead.
— https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify

认真阅读文档诶...

天蓬老师

楼上公子正解, 过滤了再 stringify,

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号