如何筛选具有多个键和值的两个数组



var filteredKeyItems = ['primary','gender','regular','normal']
var filteredValuesItems = ['genreal','M',true]
// Output should be:
filteredKeyItems = ['primary','gender']
filteredValuesItems = ['genreal','M']

这里有两个数组的片段,其中包含键和值。我如何过滤代码中表示的多个键 常规和正常 值数组中的值为 true。最终输出应按照代码段中指示的内容进行。

谢谢。

我们也可以通过以下方式做到这一点

    var filteredKeyItems = ['primary','gender','regular','normal']
    var filteredValuesItems = ['genreal','M',true]
    let filterTwo=[]
    let filterOne=filteredKeyItems.filter((element,index)=>{
     
      //we can assign condition here
    if(element=="primary" || element=="gender" ){
       filterTwo.push(filteredValuesItems[index])
      return  element}}  )
   
    console.log(filterOne)
    console.log(filterTwo)

美容功能的方式是:

var filteredKeyItems = ['primary','gender','regular','normal']
var filteredValuesItems = ['genreal','M',true]
function filterKeyItem(keyItem) {
    return keyItem !== 'regular' && keyItem !== 'normal';
}
filteredValuesItems = filteredValuesItems.filter((valueItem, index) => filterKeyItem(filteredKeyItems[index]));
filteredKeyItems = filteredKeyItems.filter(filterKeyItem);
console.log('filteredKeyItems', filteredKeyItems);
console.log('filteredValuesItems', filteredValuesItems);

为了稍微提高性能,您可以使用一个简单的for循环来填充结果数组。

最新更新