Javascript 如何在多维数组中返回布尔值之后的值?
我正在尝试筛选多维数组,以仅返回该数组中布尔值之后的索引 此数组中的第一个键需要保留在数组中,如“Tafelblad模型”和“Uitstraling” 以及布尔值之后的可选值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 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)谢谢,伙计们!这正是我需要的!