Javascript 如何在多维数组中返回布尔值之后的值?

Javascript 如何在多维数组中返回布尔值之后的值?,javascript,multidimensional-array,Javascript,Multidimensional Array,我正在尝试筛选多维数组,以仅返回该数组中布尔值之后的索引 此数组中的第一个键需要保留在数组中,如“Tafelblad模型”和“Uitstraling” 以及布尔值之后的可选值 ["Tafelblad model", true, "Rechthoekig", "Vierkant", "Ovaal / Rond / Overig"], ["Uitstraling", "Licht robuust", "Midden robuust", true, "Zwaar robuust", "Weinig",

我正在尝试筛选多维数组,以仅返回该数组中布尔值之后的索引

此数组中的第一个键需要保留在数组中,如“Tafelblad模型”和“Uitstraling” 以及布尔值之后的可选值

["Tafelblad model", true, "Rechthoekig", "Vierkant", "Ovaal / Rond / Overig"],
["Uitstraling", "Licht robuust", "Midden robuust", true, "Zwaar robuust", "Weinig", "Midden (standaard)", true, "Veel oneffenheden en scheuren"]`
新阵列将如下所示

["Tafelblad model", "Rechthoekig"],
["Uitstraling", "Zwaar robuust", "Veel oneffenheden en scheuren"]`

您可以关闭设置为保留看到的下一个条目的标志:

let flag = true; // We want the first one
const newArray = array.filter(entry => {
    const keep = flag;
    flag = typeof entry === "boolean";
    return keep;
});
实例:

函数示例(数组){
让flag=true;//我们想要第一个
const newArray=array.filter(条目=>{
const keep=旗帜;
flag=typeof条目==“布尔”;
返回保持;
});
log(newArray);
}
示例([“Tafelblad模型”,正确,“Rechthoekig”,“Vierkant”,“Oval/Rond/Overig”]);
示例([“Uitstraling”、“Licht robuust”、“Midden robuust”、true、“Zwaar robuust”、“Weinig”、“Midden(标准)”、true、“Veel oneffenheden en scheuren”])map()
filter()

let数组=[
[“塔菲尔布拉德模型”,正确,“雷克霍基格”、“维耶坎特”、“奥瓦尔/隆德/奥维希”],
[“Uitstraling”、“Licht robuust”、“Midden robuust”,真,“Zwaar robuust”、“Weinig”、“Midden(标准)”,真,“Veel oneffenheden en scheuren”]
]
让result=arrays.map(arr=>{
返回arr.filter((v,i)=>typeof-arr[i-1]==“boolean”| i==0);
})

console.log(result)
您可以使用
.filter(..)
函数进行此操作,下面是一个示例:

let arr1=[“Tafelblad模型”,true,“Rechthoekig”,“Vierkant”,“Ovaal/Rond/Overig”];
让arr2=[“Uitstraling”,“Licht robuust”,“Midden robuust”,真,“Zwaar robuust”,“Weinig”,“Midden(标准)”,真,“Veel oneffenheden en scheuren”];
常量过滤器fn=(值、索引、arr)=>{
返回索引===0 | | arr[索引-1]==true;
};
arr1=arr1.过滤器(filterFn);
arr2=arr2.过滤器(filterFn);
控制台日志(arr1);

控制台日志(arr2)