![](/img/trans.png)
[英]How to determine if Javascript array contains an object with an attribute that equals a given value?
[英]How to check if a Javascript object contains an array as a value for an attribute?
我有一個來自表單數據的對象(使用快速車把的javascript),可以是以下之一:
object1 = { name: "Grade1", section: "A", courses: [ "Eng", "Math", "Sci"] }
要么
object2 = { name: "Grade1", section: "A", courses: "Sci" }
如何確定courses
屬性是包含數組還是單個值? 還是有一種方法可以始終將屬性courses
的數據作為數組發送給屬性courses
(即使它是單個課程)?
謝謝。
您可以使用instanceof
或typeof
運算符:
要檢查其是否為數組:
if (object.courses instanceof Array) {
···
}
要檢查其是否為字符串:
if (typeof object.courses === 'string') {
···
}
您也可以使用isArray
方法。 請注意說明了為什么您可能要使用此方法而不是instanceOf
的文檔 :
檢查
Array
實例時,Array.isArray
優於instanceof
因為它通過iframes
起作用。
根據您的用例(假設您使用的是瀏覽器),您可能更喜歡此方法,並且如果還沒有使用它,則可以將其作為數組發送。 就像是:
var object1 = { name: "Grade1", section: "A", courses: [ "Eng", "Math", "Sci"] };
var object2 = { name: "Grade1", section: "A", courses: "Sci" };
console.log(object2.courses);
if (!Array.isArray(object2.courses)) {
object2.courses = [object2.courses];
}
console.log(object2.courses);
您可以使用typeof
來檢查object1.courses
是數組還是字符串。
有多種方法可以確保您在接收數據時課程始終是一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.