簡體   English   中英

查找Javascript數組中是否存在元素

[英]Find if an element exists in Javascript array

我試圖找到一個元素存在於Array中的名稱。 想不通,如何實現同樣的目標

let string = [{"plugin":[""]}, {"test": "123"}]
console.log(string);
console.log(string instanceof Array); //true
console.log("plugin" in string); //false

plugin沒有直接在數組中定義,它是在數組中的對象內部定義的。

使用Array#find檢查數組中的任何元素是否包含給定屬性。

array.find(o => o.hasOwnProperty('plugin'))

使用hasOwnProperty檢查對象是否具有屬性。

 let array = [{"plugin":[""]}, {"test": "123"}]; let res = array.find(o => o.hasOwnProperty('plugin')); console.log(res); 

作為選項,您還可以使用Array#filter

array.filter(o => o.hasOwnProperty('plugin')).length > 0;

 let array = [{"plugin":[""]}, {"test": "123"}]; let containsPlugin = array.filter(o => o.hasOwnProperty('plugin')).length > 0; console.log(containsPlugin); 

如果數組中存在具有特定鍵的對象,則可以使用Array#some()Object.keys()並返回true/false

 let string = [{"plugin":[""]}, {"test": "123"}]; var result = string.some(o => Object.keys(o).indexOf('plugin') != -1); console.log(result) 

看看下面的示例代碼作為在Javasript中查找數組中元素的一般答案:

var power = [
    "Superman",
    "Wonder Woman",
    "Batman"
];

for (var i = 0; i < power.length && power[i] !== "Wonder Woman"; i++) {
    // No internal logic is necessary.
}

var rank = i + 1;

// Outputs: "Wonder Woman's rank is 2"
console.log("Wonder Woman's rank is " + rank);

我希望它可以幫到你。

像這樣用

let array = [{"plugin":[""]}, {"test": "123"}];
array.find(o => o.plugin).length

暫無
暫無

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

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