从 JQuery 中的字符串创建数组映射
Creating Array Map from String in JQuery
我正在努力理解jQuery,对PHP有很好的了解。
我有一个这样的字符串:
[donor="company1" web="http://company1.com" amount="5.50"];[donor="company2" web="http://company2.com" amount="40.00"]
我试图从这个问题中获得答案。
不幸的是,我不知道如何将我的字符串变成另一个问题的提问者必须开始的东西,即:
var data = [{'donor':'company1', 'web':'http://company1.com', 'amount':5.50},
{'donor':'company2', 'web':'http://company2.com', 'amount':40.00}]
你能提供的任何帮助都会很棒。我认为它与地图、关联数组、对象有关,但我只是不明白。
提前感谢,我真的很感激!
您可以使用正则表达式替换将原始字符串转换为所需的字符串:
var s='[donor="company1" web="http://company1.com" amount="5.50"];[donor="company2" web="http://company2.com" amount="40.00"]';
s='[' + s.replace(/'[/g,'{').replace(/']/g,'}').replace(/=/g,':')
.replace(/"'s/g,'", ').replace(/{(.+?):/g,'{"$1":')
.replace(/;/g,','r'n') + ']';
此转换的结果是要获取的字符串,它是对象数组的 JSON 表示法。
如果评估此 JSON 表达式,则会得到对象数组。
如果将这些行添加到上一个脚本的末尾,您将看到一个长度为 2 的数组,其中包含由 JSON 表示的对象:
var t = eval(s);
alert(t.length); // output 2, which is the array length
alert(t[0].donor); // outputs company1, which is the donor of the first object in the array
您可以在w3schools中使用此代码尝试自己编辑器。复制并粘贴此代码:
<html>
<head>
<script type="text/javascript">
var s='[donor="company1" web="http://company1.com" amount="5.50"];[donor="company2" web="http://company2.com" amount="40.00"]';
s='[' + s.replace(/'[/g,'{').replace(/']/g,'}').replace(/=/g,':')
.replace(/"'s/g,'", ').replace(/{(.+?):/g,'{"$1":')
.replace(/;/g,','r'n') + ']';
var t = eval(s);
alert("Array length: " + t.length);
alert("1st object donor: " + t[0].donor);
</script>
</head>
<body>
</body>
</html>
相关文章:
- knex:根据结果创建数组的合适方法是什么
- 在javascript中创建数组,而不是if.else
- 使用来自不同循环Javascript的数据创建数组
- 尝试从计算创建数组时数组长度无效
- 循环选择标记并创建数组或字符串
- 根据 Array Javascript 中的字符串值动态创建数组名称
- 通过动态创建数组名称在单击函数中引用 javascript 数组
- 如何在不完成添加序列的情况下从rxjs创建数组
- 如何在不创建数组的情况下使用NgFor来生成矩阵UI模式
- 使用jquery从TextArea创建数组
- jquery动态创建数组
- 从现有数组创建数组
- 使用对象的副本创建数组(Javascript)
- 基于分隔符/方括号的实例创建数组
- 如何创建数组取决于是否在jQuery中设置了变量
- 使用JavaScript's Reduce从对象数组创建数组
- 在 JavaScript 中动态创建数组
- 在 javascript 中使 split() 方法使用双引号而不是单引号创建数组
- 在 $.each 函数中使用条件来创建数组
- 如何修改此代码,以便创建数组并将事件添加到数组中