gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 01:31:11 25 4
gpt4 key购买 nike

大家好,我有一个 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];

const isUniqueArr = arr => {
const tmp = new Set(arr);
if(tmp.size > 1) {
return false;
}
return arr[0];
}

console.log(isUniqueArr(aArr)); // expected: false

console.log(isUniqueArr(bArr)); // expected: 1

对于您的示例,您可以像这样使用此函数:

let res = isUniqueArr(selectedVehiclesDepotIds);

要获取结果,其中 resfalse 或整个数组中出现的数字。

这个函数可以应用到您的代码中,如下所示:

function checkIfAllTheSelectedVehiclesDepotIdsSame(selectedVehiclesDepotIds) 
{
var tmp = new Set(selectedVehiclesDepotIds);
if(tmp.size > 1) {
return false;
}
return arr[0];
}


var res = checkIfAllTheSelectedVehiclesDepotIdsSame(selectedVehiclesDepotIds)
if(res == false) {
// logged in depot id
} else {
// store the value held in res
}
// Your createOrderForTicket() goes under here

然后在您的 createOrderForTicket() 函数中您可以执行以下操作:

var res = checkIfAllTheSelectedVehiclesDepotIdsSame(selectedVehiclesDepotIds) 
if(res == false) {
// logged in depot id
} else {
// store the value held in res
}

关于javascript - 在javascript中检查数组中的所有值是否相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53259656/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com