您的位置:首页 > Web前端 > JavaScript

数组去除重复 json的继承和重新

2016-02-22 21:10 633 查看
历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中,具体实现如下,需要的朋友可以看看


例如:var student = [‘qiang','ming','tao','li','liang','you','qiang','tao'];

第一种思路是:遍历要删除的数组arr, 把元素分别放入另一个数组tmp中,在判断该元素在arr中不存在才允许放入tmp中

用到两个函数:for ...in 和 indexOf()

?
第二种思路是:把目标数组arr的元素值和键的位置调换 自动就把重复的元素给删除掉了,调换后的样子:array('qiang'=>1,'ming'=>1,'tao'=>1)

?
第三种:ES6新特性:

function unique (arr) {
const seen = new Map()
return arr.filter((a) => !seen.has(a) && seen.set(a, 1))
}
// or
function unique (arr) {
return Array.from(new Set(arr))
}

作者:尤雨溪
链接:https://www.zhihu.com/question/29558082/answer/44854426
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另外一种用法:json继承和重新

    <script>

    function d(opts) {

    var that = this;

        opts = opts || {};

        that.defaults = {

            width: null,

            height: null,

            fieldName: 'file',

            quality: 0.7

        };

        for (var p in opts) {

          if (!opts.hasOwnProperty(p)) continue;

            that.defaults[p] = opts[p];

        }

        console.log(that.defaults)

    }

//调用--------------------------------------

  d({

      width: "300px",

            height: "200px",

    })

    </script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: