Почему то все согласны с тем, что данная конструкция
[ '15:40', true, playd: true ]
- бред
Я почему то вижу здесь массив с двумя значениями и свойством playd:
const allDate = [ '15:40', true ];
allDate['playd'] = true;
console.log(allDate); // интересно, что же выведется в консоли?
// [ '15:40', true, playd: true ]
И естественно JSON будет его парсить как обычный массив, не глядя на свойства.
Как вариант, это дело легко превратить в ассоциативный массив:
JSON.stringify(Object.assign({}, allDate));
// '{"0":"15:40","1":true,"playd":true}'