Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.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中检查数组中的所有值是否相同_Javascript - Fatal编程技术网

在javascript中检查数组中的所有值是否相同

在javascript中检查数组中的所有值是否相同,javascript,Javascript,大家好,我有一个js函数,我有一个数组,它将获得depotidowner id,它将像1,2,4,5,6 所以我要做的是检查条件,比如数组中的所有值是否相同,如果不返回false,则返回该值 这是我的阵列: function createOrderForTicket() { var selectedVehicles = []; var selectedVehiclesDepotIds = []; $('#vehicleListForNewOrder input:check

大家好,我有一个js函数,我有一个数组,它将获得depotidowner id,它将像1,2,4,5,6

所以我要做的是检查条件,比如数组中的所有值是否相同,如果不返回false,则返回该值

这是我的阵列:

function createOrderForTicket()
{
    var selectedVehicles = [];
    var selectedVehiclesDepotIds = [];
    $('#vehicleListForNewOrder input:checked').each(function() {
        selectedVehicles.push($(this).val());
        selectedVehiclesDepotIds.attr('depotIdOwner');
    });

    if (0 === selectedVehicles.length) {
        $('#vehicleListForNewOrderError').show();
        $('#vehicleListForNewOrderError').addClass('error');

        return false;
    }

    if (0 === selectedVehiclesDepotIds.length) {
        return false;
    }



    var vehicleIds = selectedVehicles.join(',');
    var contactId = $('#contactId').val();
    var personId = $('#personId').val();
    var ticketId = $('#ticketId').val();
    var depotIdOwner = selectedVehiclesDepotIds.val();
    var url = vbdBaseUrl + '/order/customer/index/contactId/' + contactId + 
        '/personId/' + personId + '/ticketId/' + ticketId + '/vehicleId/' + vehicleIds + '/id/';

    if (depotIdOwner) {
        url = url + '/depotId/' + depotIdOwner;
    }

    window.open(url, '_blank');
    location.reload();
}

这里有一种方法可以帮助您实现这一点。javascript中的
Set
只能保存唯一的值,因此,如果其大小等于1,则数组具有所有相等的值,如果其大小等于大于1,则所有值都不是唯一的:

请看下面的代码片段:

const aArr=[1,2,3,4,5];
const-bArr=[1,1,1,1,1];
常量isUniqueArr=arr=>{
常数tmp=新集合(arr);
如果(tmp.size>1){
返回false;
}
返回arr[0];
}
console.log(isUniqueArr(aArr));//期望值:false

console.log(isUniqueArr(bArr));//预期:1这里有一种方法可以帮助您实现这一点。javascript中的
Set
只能保存唯一的值,因此,如果其大小等于1,则数组具有所有相等的值,如果其大小等于大于1,则所有值都不是唯一的:

请看下面的代码片段:

const aArr=[1,2,3,4,5];
const-bArr=[1,1,1,1,1];
常量isUniqueArr=arr=>{
常数tmp=新集合(arr);
如果(tmp.size>1){
返回false;
}
返回arr[0];
}
console.log(isUniqueArr(aArr));//期望值:false

console.log(isUniqueArr(bArr));//预期:1
以下代码适用于您。免费填写,询问您可能有的任何问题

var arrayTocheck1 = [1,2,3,4];
var arrayTocheck2 = [1,1,1,1];

function checkIfAllTheSame(arr){
    var i = 0;
    var allTheSame = false;
    if(arr && arr.length > 0){
        allTheSame = true;
        var firstElement = arr[0];
        for(i=1; i<arr.length; i++){
            if(arr[i] !== firstElement){
                allTheSame=false;
                i=arr.length;
            }
        }      
    }
    return allTheSame;
}

function getCommon(arr){
    if(checkIfAllTheSame(arr)){
        return arr[0];
    }
    return null;
}

alert(getCommon(arrayTocheck1));
alert(getCommon(arrayTocheck2));
var arrayTocheck1=[1,2,3,4];
var arrayTocheck2=[1,1,1,1];
功能检查是否完全相同(arr){
var i=0;
var allTheSame=false;
如果(arr&&arr.length>0){
所有这些都是正确的;
var firstElement=arr[0];

对于(i=1;i以下代码应该适合您。请免费填写以询问您可能有的任何问题

var arrayTocheck1 = [1,2,3,4];
var arrayTocheck2 = [1,1,1,1];

function checkIfAllTheSame(arr){
    var i = 0;
    var allTheSame = false;
    if(arr && arr.length > 0){
        allTheSame = true;
        var firstElement = arr[0];
        for(i=1; i<arr.length; i++){
            if(arr[i] !== firstElement){
                allTheSame=false;
                i=arr.length;
            }
        }      
    }
    return allTheSame;
}

function getCommon(arr){
    if(checkIfAllTheSame(arr)){
        return arr[0];
    }
    return null;
}

alert(getCommon(arrayTocheck1));
alert(getCommon(arrayTocheck2));
var arrayTocheck1=[1,2,3,4];
var arrayTocheck2=[1,1,1,1];
功能检查是否完全相同(arr){
var i=0;
var allTheSame=false;
如果(arr&&arr.length>0){
所有这些都是正确的;
var firstElement=arr[0];


对于(i=1;我可以复制一个简单的循环,从比较长度开始,如果两个长度相同,那么比较每个元素。我不明白,你能解释一下吗clearly@Zenoo我已经检查了那个链接,但我不知道如何使用它,所以我又发了一个问题。如果我能理解,你能简单地解释一下吗正确地说,您正在尝试检查数组是否包含重复的值,对吗?您能用示例值发布数组吗?一个简单循环的可能重复可以,首先比较长度,如果两个长度相同,然后比较每个元素。我不懂,请您解释一下clearly@Zenoo我已经检查了链接i h我不知道如何使用,所以这就是我为什么发布另一个问题的原因。你能简单地解释一下吗?如果我理解正确,你试图检查数组是否包含重复的值,是吗?你能用示例值发布数组吗?在我的情况下,我如何处理。对不起,我是js新手,所以有点难以理解在上面的例子中,
aArr
是数组的一个例子,
bArr
是给定数组的另一个例子。因此,您可以使用函数
isUniqueArr
来检查任何数组。那么在我的例子中,我需要检查条件的两个数组是什么,请检查我的问题我已经用完整的代码编辑了我的问题在您的问题中,您声明“我想检查条件,如数组中的所有值是否相同,如果不返回false,则返回该值您只需要一个数组来执行检查。传递到
中的数组是uniquearr
就是您要检查其是否唯一的数组。在我的示例中,我使用了两个数组来演示函数的两个不同可能输出。在您的情况下,我假设您只想检查
SelectedVehiclesDepotID
数组to检查其是否具有唯一值。您可以通过执行
isUniqueArr(SelectedVehiclesDepotitds)来执行此操作
好的,那么从您的示例中,我可以代替arr替换我选择的Vehicles DepotID?我如何处理我的情况..对不起,我是js新手,所以对我来说有点难以理解在上面的示例中,
aArr
是数组的一个示例,
bArr
是给定数组的另一个示例。因此,您可以使用函数
isUniqueArr
检查任何数组。因此,在我的情况下,我需要检查条件的两个数组是什么,请检查我的问题我已经用完整的代码编辑了我的问题在您的问题中,您声明“我想检查条件,就像数组中的所有值是否相同,如果不返回false,则返回该值;”您只需要一个数组来执行检查。传递到
中的数组是uniquearr
就是您要检查其是否唯一的数组。在我的示例中,我使用了两个数组来演示函数的两个不同可能输出。在您的情况下,我假设您只想检查
SelectedVehiclesDepotID
数组to检查其是否具有唯一值。您可以通过执行
isUniqueArr(SelectedVehiclesDepotitds)来执行此操作
ok,那么从您的示例中,而不是arr,我可以替换我选择的Vehicles Depottids吗?@suresh我已经编辑了我的答案中的语法错误。请检查最新的一个。@suresh我已经编辑了我的答案中的语法错误。请检查最新的一个。