提问人:Zach Walsh 提问时间:7/14/2023 更新时间:7/14/2023 访问量:22
使用 string.match 方法的结果填充数组变量
Populating Array Variable with Results of string.match method
问:
我在使用 string.match 方法的结果填充数组时遇到了一些 Javascript 代码的问题。
从本质上讲,我正在尝试从来自另一个应用程序的一段 JSON 中提取字符串数组。我已经验证了匹配方法实际上确实返回了一个有效的数组,并且我的正则表达式是准确的。只有当尝试将这些结果推送到自己的数组时,我似乎才遇到问题。
代码的一般结构如下:
var orgSearchDomain = /*JSON STRING*/;
let orgSearchName = '';
let orgId = 0;
var orgAddresses = [];
if (orgSearchDomain.match(/"item":{"id"/g).length = 1) {
orgId = orgSearchDomain.match(/(?<="id":)\d+/)[0];
}
else if (orgSearchDomain.match(/"item":{"id"/g).length > 1){
orgAddresses = new Array(orgSearchDomain.match(/(?<="address":).+?(?
=,"visible_to)/g).slice(0));
}
我尝试使用 var 和 let 在 if 块中声明 orgAddresses,但没有成功。使用 var 将声明移到 if 块之外取得了一些进展,代码不再崩溃,但打印 OrgAddresses 的任何属性将显示它仍然是一个长度为 0 的空数组。
我真的不知道我在这里错过了什么。就像我说的,只是打印属性
orgSearchDomain.match(/(?<=“address”:).+?(? =,“visible_to)/g)
将产生正确的结果;似乎有些地方出了问题,分配给新的orgAddresses数组。
任何帮助将不胜感激,如果我可能提供任何其他信息,请告诉我。
答: 暂无答案
评论