Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如果数组中的位置超过5个,则显示不同的值_Javascript_Jquery - Fatal编程技术网

Javascript 如果数组中的位置超过5个,则显示不同的值

Javascript 如果数组中的位置超过5个,则显示不同的值,javascript,jquery,Javascript,Jquery,我有以下标记: <p class="country" data-country="UK">lon</p> <p class="country" data-country="UK">lon</p> <p class="country" data-country="UK">lon</p> <p class="country" data-country="UK">lon</p> <p class="c

我有以下标记:

<p class="country" data-country="UK">lon</p>
<p class="country" data-country="UK">lon</p>
<p class="country" data-country="UK">lon</p>
<p class="country" data-country="UK">lon</p>
<p class="country" data-country="UK">lon</p>

<p class="country" data-country="IT">milan</p>
<p class="country" data-country="IT">milan</p>

lon

lon

lon

lon

lon

米兰

米兰

我想把它改成:

 <p> various UK location</p> (based on having more the 5 cities for the same country)

<p class="country" data-country="IT">milan</p>
<p class="country" data-country="IT">milan</p>
不同的英国地点

(基于同一国家有5个以上的城市) 米兰

米兰

到目前为止,我已经:

var countries = [];

$("p.country").each(function(){
    countries.push($(this).data("country")); 
});

var unqiueCountries = countries.filter(function(item, pos) {
    return countries.indexOf(item) == pos;
}) // get unique values per country


for(var i =0; i < unqiueCountries.length; i++ ){
    $("p.country").each(function(){
        if($(this).data('country') == unqiueCountries[i]) { // as long as the countries match check if there are more then 5 locations
            if ($(this).data('country').length >= 5) {
                console.log('various location');
            }
        }
    })
}
var国家=[];
$(“p.country”)。每个(功能(){
推送($(this).data(“国家”);
});
var unqiueCountries=countries.filter(函数(项目,位置){
返回国家。indexOf(项目)=pos;
})//获取每个国家/地区的唯一值
for(var i=0;i=5){
console.log(“各种位置”);
}
}
})
}
逻辑中的某些内容未按预期工作。

this.data('country')的值。长度在代码中始终为2,因为它是数据属性中值的长度。它不以任何方式与具有相同属性值的元素数相对应

但执行此操作不需要太多代码:

$(“p.country”)。每个(函数(){
var国家=$(此).data(“国家”),
$match=$(“[data country=“”+country+“]);
如果($match.length<5)返回;
$(此).before($(“”).text(“各种“+国家+”位置”);
$match.remove();
});

lon

lon

lon

lon

lon

米兰

米兰

此.data('country')的值。长度在代码中始终为2,因为它是数据属性中值的长度。它不以任何方式与具有相同属性值的元素数相对应

但执行此操作不需要太多代码:

$(“p.country”)。每个(函数(){
var国家=$(此).data(“国家”),
$match=$(“[data country=“”+country+“]);
如果($match.length<5)返回;
$(此).before($(“”).text(“各种“+国家+”位置”);
$match.remove();
});

lon

lon

lon

lon

lon

米兰


米兰

我将采用以下方式:

var国家=[];
$(“p.country”)。每个(功能(){
推送($(this).data(“国家”);
});
var unqiueCountries=countries.filter(函数(项目,位置){
返回国家。indexOf(项目)=pos;
});
unqiueCountries.forEach(功能(项){
var pElement=document.querySelectorAll(“[data country=“+item+”]”);
如果(pElement.length>=5){
$(pElement).remove();
$('body')。前缀(“英国的各个位置”

”; } })

lon

lon

lon

lon

lon

米兰


米兰

我将采用以下方式:

var国家=[];
$(“p.country”)。每个(功能(){
推送($(this).data(“国家”);
});
var unqiueCountries=countries.filter(函数(项目,位置){
返回国家。indexOf(项目)=pos;
});
unqiueCountries.forEach(功能(项){
var pElement=document.querySelectorAll(“[data country=“+item+”]”);
如果(pElement.length>=5){
$(pElement).remove();
$('body')。前缀(“英国的各个位置”

”; } })

lon

lon

lon

lon

lon

米兰

米兰

如果($(this).data('country').length>=5)->您正在检查数据字符串长度。。。如果($(this).data('country').length>=5)->您正在检查数据字符串长度,那么它总是两个。。。而且总是两个。。。