用javascript从数组中建立唯一的选择列表?

问题描述 投票:0回答:1

我写了这个脚本。

<script>

const http = new XMLHttpRequest()
url = "http://192.168.0.2/hotspots";
window.onload = function(){
    var request = new XMLHttpRequest();

    request.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            result = eval(this.responseText)
            select = document.getElementById('access_points_select');
            for (var i = 0; i<=result.length; i++){
                var opt = document.createElement('option');
                opt.value = result[i];
                opt.innerHTML = result[i];
                select.appendChild(opt);
            }
        }
};

request.open('GET', url);
request.send();
}

</script>
</head>
<body>
<select name="access_points" id="access_points_select">
</select>

但由于资源也会返回重复的条目,我想避免重复的条目进入选择下拉,我如何实现这一点,而不创建唯一的数组,不创建另一个数组,然后 result.

javascript arrays html-select
1个回答
0
投票

窗口.onload = function(){ var request = new XMLHttpRequest(); request.... eval(this.responseText) 返回一个数组,你可以使用 设置 以确保没有重复的内容。

如果您需要过滤 undefined 你可以做链,在末端也。

 result = [...new Set(this.responseText)].filter(Boolean)
© www.soinside.com 2019 - 2024. All rights reserved.