gpt4 book ai didi

javascript - 如何将数组的字符串表示形式转换回数组?

转载 作者:行者123 更新时间:2023-12-01 02:30:43 26 4
gpt4 key购买 nike

我正在尝试一些东西......

假设我有这个:

<div id="helloworld" 
call="chart"
width="350" height="200"
value="[[4, 8, 1, 88, 21],[45, 2, 67, 11, 9],[33, 4, 63, 4, 1]]"
label="['test1', 'test2', 'test3', 'test4', 'test5']"/>

我正在使用 jQuery 将所有元素属性提取到一个对象数组中,该部分起作用了,我得到了这样的结果:

Object { id="helloworld", call="chart" ... }

我需要做的第二部分是将“数组的字符串表示形式”转换为实际数组,它适用于我的值,使用 JASON.parse() 作为值...然而尝试用 label 做同样的事情并没有成功,它不喜欢我在那里的单引号(')...尝试用\"逃脱它仍然没有骰子。

有人知道将其转换回数组的优雅方法吗?

最佳答案

当您使用 jQuery 和自定义属性时,首先要修复的是属性:

而不是:

<div id="helloworld" 
call="chart"
width="350" height="200"
value="[[4, 8, 1, 88, 21],[45, 2, 67, 11, 9],[33, 4, 63, 4, 1]]"
label="['test1', 'test2', 'test3', 'test4', 'test5']" />

您应该使用:

<div id="helloworld" 
data-call="chart"
width="350" height="200"
data-value="[[4, 8, 1, 88, 21],[45, 2, 67, 11, 9],[33, 4, 63, 4, 1]]"
data-label='["test1", "test2", "test3", "test4", "test5"]'></div>

请务必对您的数据使用有效的 JSON 编码。

执行此操作后,您可以使用 jQuery's .data() method 访问属性值

$('#helloworld').data('label'); //returns the actual array

In some cases you may want to use .attr() to access the string representation of the attribute.

<小时/>

如果您绝对必须保留数据原样,并且可以保证“字符串”不会包含特殊字符,则可以调用 $.parseJSON($('#helloworld').attr( 'data-label').replace("'", '"'));,但如果字符串包含引号或其他未正确编码的特殊字符,它将会失败/逃脱了。

关于javascript - 如何将数组的字符串表示形式转换回数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18277422/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com