我正在嘗試下面的代碼,但它不起作用,所以首先我試圖獲取當前的人員部門名稱,對其進行硬編碼以檢查
var arr=[]
let CurrDept = "AB-CDE-F";
var Detept=CurrDept.substring(0,5);
arr.push(Detept)
現在在下面的代碼行中,我正在嘗試這一行,因此它應該排除所有從以下開始的結果AB-CD
var Userprofiledept=data.value[0].UserId.Department;
const isInArray = arr.indexOf(Userprofiledept) > -1;
isInArray應該是假的,可以放在我的條件下,但它總是給真
任何人都可以幫忙嗎?
因此,當前的用戶部門可能是AB-CDE-F,我從休息電話中獲得的資料可能對許多用戶有很多部門AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD,AB-C
所以只想排除AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD開始時的結果AB-CD
uj5u.com熱心網友回復:
您可以使用Array.prototype.filter和String.prototype.startsWith。
const
data = {value: [{ UserId: { ID: 14, Email: "sdfds", Department: "AB-CD-EF" } }, { UserId: { ID: 14, Email: "sdfds", Department: "AB-CD" } }, { UserId: { ID: 14, Email: "sdfds", Department: "AB-C" } }]},
discard = "AB-CD",
res = data.value.filter((v) => !v.UserId.Department.startsWith(discard));
console.log(res);
uj5u.com熱心網友回復:
您可以將功能移動到函式中并檢查子字串是否存在并在必要時添加。
const
add = string => {
string = string.slice(0, 5);
if (array.includes(string)) return;
array.push(string);
}
array = [];
add('AB-CDE-F');
console.log(array);
add('AB-CDE-F');
console.log(array);
add('AB-CDE');
console.log(array);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/475862.html
標籤:javascript
