如何将 "['2022-03-24', '2022-03-25']" 转换为 javascript 数组

How to convert "['2022-03-24', '2022-03-25']" to javascript array

我想将 "['2022-03-24', '2022-03-25']" 转换为 javascript 数组数据来自 element.dataset

做了 const dateRange = JSON.stringify("['2022-03-24', '2022-03-25']") JSON.parse(dateRange) returns ['2022-03-24', '2022-03-25'] 这是一个字符串而不是 javaScript 数组。

我想用我数据库中的对象填充 flatpickr 的日期范围,所以我通过数据属性 <input type="date" class="date-range" data-date="{{date_range}}" />

传递日期 html 元素

尝试一下,它会给你留下日期字符串数组,现在尝试将它们解析为日期(如果需要)。

someString.replace(/[',\]\[]/g, '').split(' ')

您可以使用 Function() 对象创建一个函数实例,该实例将 return 一个数组。下面的第二行创建了一个匿名函数,然后通过 ().

立即调用该函数
const arrString = "['2022-03-24', '2022-03-25']";
const arr = (new Function(`return ${arrString}`))();
console.log( arr );

演示版

const arrString = "['2022-03-24', '2022-03-25']";
const arr = (new Function(`return ${arrString}`))();
console.log( arr );