簡體   English   中英

如何檢查數組是否包含給定元素

[英]How to check in array if it contains given element

我正在嘗試下面的代碼,但它不起作用,所以首先我試圖獲取當前的人員部門名稱,對其進行硬編碼以檢查

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-C

所以只想排除AB-CDE-F,AB-CDE-F,AB-CDE,AB-CD的結果,因為它們以AB-CD開頭

您可以將功能移動到函數中並檢查子字符串是否存在並在必要時添加。

 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);

您可以使用Array.prototype.filterString.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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM