Показать сообщение отдельно
  #3 (permalink)  
Старый 25.02.2022, 11:19
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,228

Сообщение от raja
Мне надо, чтобы в массиве было:
Object { projectBeginSelect: "UF_CRM_1584163639", "dealCategorySelect":["1": "409", "2": "417", "4": "423"]}
Как вариант...
const old = { 
	projectBeginSelect: "UF_CRM_1584163639", 
	"dealCategorySelect[1]": "7", 
	"dealStatusSelect[1]": "409", 
	"dealStatusSelect[2]": "417", 
	"dealStatusSelect[4]": "423" 
}
const o = {}
const a = Object.keys(old)
a.forEach(key => {
	const i = key.indexOf('[')
	if (i === -1) {
		o[key] = old[key]
		return
	}
	const a = key.match(/[^\[\]]+/g)
	if (!o[a[0]]) o[a[0]] = []
	o[a[0]][a[1] - 1] = old[key]
})
alert(JSON.stringify(o))
Ответить с цитированием