JSFiddle - React, Tailwind, and code Playground

by batcave

JavaScript

const raw = {
  'something.collection[0].name1': '0 name1',
  'something.collection[1].name3': '0 name3',
  'something.collection[0].name2': '0 name2',
  'something.collection[0].name3': '0 name3',
  'something.collection[1].name1': '0 name1',
  'something.collection[1].name2': '0 name2',
  'else.name1': '0 name1',
}

const allowed = ['something']


const filtered = Object.keys(raw)
  .filter(key => key.includes('something'))
  .sort()
  .reduce((obj, key) => {
	  const collectionKey = key.split('.')[1]
    
    obj[collectionKey] = raw[key]
    return obj
  }, {})

console.log(filtered);