gpt4 book ai didi

javascript - array.includes 返回 false,其中搜索的名称在数组中

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:29:21 25 4
gpt4 key购买 nike

如果 var c = familyArray.includes("Bart"); 它将返回 false 但如果 var c = familyArray.includes("Homer") ; 它将返回 true

我希望在 Bart 的情况下也是如此,因为它也包含在数组中。

下面是我的数组:

var familyArray = ["Marge", "Homer", ["Bart", "Lisa", "Maggie"]];
var a = familyArray.indexOf("Bart");
var b = familyArray[2][0];
var c = familyArray.includes("Bart");

document.getElementById("demo").innerHTML = c;

console.log(a);
console.log(b);
<p id="demo"></p>

最佳答案

你的问题是你有一个多维数组,数组 includes 不会搜索内部数组。因此,您需要在搜索之前展平数组。在这里,我使用 Infinity 作为参数,以防您的数组的维度超过 2:

var familyArray = ["Marge", "Homer", ["Bart", "Lisa", "Maggie"]];
var c = familyArray.flat(Infinity).includes("Bart");

console.log(c); // true;

查看浏览器对 .flat() 的支持 here .如果您需要更好的浏览器支持,您可以使用找到的替代方法 here

关于javascript - array.includes 返回 false,其中搜索的名称在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56754648/

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