javascript 数组的范围从 IE9 到 FireFox/Chrome 有所不同

2024-03-28

我已经缩小了我的基本问题的范围:从 IE9 到 FireFox(和 Chrome),数组的范围有所不同。

在以下函数(仅摘录)中,我声明一个数组,然后通过调用 $.getJSON() 来填充它。因为引用 HoldEm 的行出现在 ProcessArray 函数内(甚至在 boolSortArray 分支内),所以我假设排序工作此时可用。它在 IE9 中有效,但在 FireFox/Chrome 中无效。在引用的行中,sortedWorking 在 FireFox/Chrome 中为空。在任何浏览器中都不会发出错误。

实验表明,sortedWorking 就在标记为“$.getJSON 的末尾”的行之前填充,而在该行之后它是空的。有什么想法吗?

function ProcessArray(arWorking, boolSortArray, idX, isPartners, isChildren) {
//...
var sortedWorking = [];
if(boolSortArray) {
  $.getJSON('MurakiMaida.json', function(data) {
    $.each(data.person, function(i, xdata) {
    ...
    sortedWorking.push(targetID + ":" + birthYear);
    ...
    }); //end of $.each
  });   //end of $.getJSON

  var HoldEm = BubbleSort(sortedWorking);

您对“$.getJSON()”的调用是异步。您不能依赖调用后的代码行中填充的数组。相反,放置依赖于正在填充的数组的代码inside它的完成处理程序。

function ProcessArray(arWorking, boolSortArray, idX, isPartners, isChildren) {
//...
var sortedWorking = [];
if(boolSortArray) {
  $.getJSON('MurakiMaida.json', function(data) {
    $.each(data.person, function(i, xdata) {
    ...
    sortedWorking.push(targetID + ":" + birthYear);
    ...
    }); //end of $.each

     var HoldEm = BubbleSort(sortedWorking);
     // ... whatever else ...
  });   //end of $.getJSON

现在,这也可能意味着您的“ProcessArray”函数本身需要重新考虑,因为,类似地,在它返回您之后still无法确定该数组是否已被填充。一般来说,这样做的方式是遵循与“$.getJSON()”本身完全相同的模式:向“ProcessArray()”添加一个回调参数,以便其客户端可以传入一个函数,以便在数组满足条件时调用该函数。已获取并排序以及完成其他任何操作。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript 数组的范围从 IE9 到 FireFox/Chrome 有所不同 的相关文章

  • Jquery ui 自动完成多个输入字段和 ajax 结果

    我正在尝试做其他几个人在堆栈上已经完成的事情 我已经尝试了所有可用的示例 但似乎无法使其工作 我已经复制了工作示例并反映了与我的情况相匹配的更改 但仍然没有 我使用的 HTML 看起来像这样 tr td a span class icon
  • Google Adsense 中的 Javascript 错误

    在我的几个运行 AdSense 的网站上 我收到以下错误 无法将消息发布到 http googleads g doubleclick net http 5Dgoogleads g doubleclick net 收件人有来源http www
  • 循环遍历类为“blah”的所有元素并找到最高的 id 值

    我有很多元素 例如 div class blah div 我想循环遍历所有这些并获得最高的 ID 即 123 这个怎么做 以下是正确的和最好的方法吗 blah each function var id this attr id split
  • 使用 TABS 时 DataTable.js 无法正确加载

    我使用 DataTables js 生成表 非常棒 运行良好 我想将选项卡添加到我的 页面 但似乎当在主选项卡以外的其他选项卡上使用 DataTables 时 它不会加载所有内容 First Tab 2nd Tab 以下是添加了 DataT
  • jquery画布图像下载

    我有我的画布元素和一些 div 单击后我希望打开下载 画布快照 现在我有 save live click function e var image canvas toDataURL image png true var imageEleme
  • jQuery 可以改变 css 样式定义吗? (不是每个元素的单独CSS)

    我还没有看到任何文档说 jQuery 可以更改任何 CSS 定义 例如更改 td padding 0 2em 1 2em to td padding 0 32em 2em 但要么必须更改整个样式表 要么更改每个元素的类 要么更改每个元素的
  • 自动播放视频的 canvas.drawimage 仅在视频元素可见时有效

    我试图通过将视频绘制到画布上来在视频上添加一些滤镜 问题是 当视频元素不在视图中时 它会停止绘制 理想情况下 我想将视频元素全部隐藏起来 我认为它只影响 Chrome 浏览器 另外 似乎如果您停止并用鼠标启动它 问题就会消失 functio
  • 如何在 javascript 中使用 .net 资源文件

    无论如何 我可以在 javascript 中访问我的资源文件 resx 吗 如果没有 那么是否有任何解决方法可以用不同语言的 javascript 显示消息 如果您的 javascript 在页面中 您可以使用 var globalReso
  • 如果未登录则重定向 html 页面

    我的网页上有简单的登录表单 它使用 javascript 来登录用户并且工作正常 问题是 用户直接在地址栏中输入登陆页面 URL 他无需登录即可直接访问该页面 如果他没有登录 我想将他重定向到登录页面 以下是loding和目标页面的链接 l
  • 跨页面加载跟踪子窗口

    如果重新加载父页面 是否可以跟踪子窗口 我目前打开窗口如下 var childWindow childWindow window open url 当我想重新打开同一个子窗口时 childWindow focus 明显的问题是 如果刷新父窗
  • 在 Three.js 中获取 Object3D 的大小

    我的场景中有这个 3D 对象 var icon new THREE Object3D var iconTexture THREE ImageUtils loadTexture images icon png iconMaterial new
  • React textarea 的值是只读的,但需要更新

    我的 React 应用程序中有一个文本区域 其中填充了一个值 我希望更新此文本区域并提交表单以更新数据库中的行
  • 当使用客户端函数填充 DOM 时,如何等待从 puppeteer 中的 page.evaluate 函数加载所有图像

    我试图让代码执行等待所有图像加载之前木偶师截屏 当调用 initData 函数时 我的 DOM 会被填充 该函数是在客户端 js 文件中定义的 延迟或超时是一种选择 但我确信必须有一种更有效的方法来做到这一点 async dataObj g
  • Karate UI 中的 ShadowRoot dom 元素访问问题

    我正在尝试访问 ShadowRoot dom 树元素 但我面临的问题是我无法使用特定的 html 元素来调用 ShadowRoot 因为该元素是动态的 请参见下面的 html 片段 id vaadin text field error 0
  • 如何使用 jquery 迭代多个选择选项

    我只是想知道是否可以通过多个选择选项并获取它们的值和文本 如果选择一个 则获取值和文本 如果选择 2 则获取它们的值和文本 依此类推 我在一页中有 15 个选择框 任何帮助 将不胜感激
  • 从 select2 选定选项获取属性值

    我正在使用 Select2 插件http ivaynberg github io select2 select2 latest html http ivaynberg github io select2 select2 latest htm
  • 选择 Jquery 中的所有空文本字段

    如何找到所有具有空值的文本字段 text value 给出 JavaScript 错误 我知道我能做到 text 迭代并返回所有字段 this val 我正在寻找一种更干净的方法并使用 JQuery 1 3 1 如果该元素在页面加载时最初具
  • window.open 未应用给定的高度参数

    我在链接上有一个 onclick 事件 其中执行了 url 的 window open 我还为其提供了自定义宽度和高度 但不接受它 并且弹出窗口以不同的宽度和高度显示 有人可以指导吗我这一定是哪里出了问题 我的 window open 语法
  • JavaScript 节点列表

    有没有办法连接 2 个 document getElementsByTagName 调用返回的 2 个 NodeList 比如说 我有以下代码 var inputs documentElement getElementsByTagName
  • Javascript增加最大数组大小[重复]

    这个问题在这里已经有答案了 我正在尝试创建一个大小的数组2 32 4294967296 因为我试图通过运行筛算法来获取 2 32 之前的所有素数 但是 该数组中的任何操作都会出现以下错误 致命错误 CALL AND RETRY LAST 分

随机推荐

  • NSLocationWhenInUseUsageDescription 的 Xamarin.iOS 本地化

    有没有办法本地化NSLocationWhenInUseUsageDescription in Info plist在 Xamarin 工作室中 或者是否有可能将完整的内容本地化Info plist也将是一个解决方案 我尝试了以下步骤 因为它
  • 如何在 for 循环中制作按钮,并为每个按钮添加 lambda 表达式? [复制]

    这个问题在这里已经有答案了 我正在尝试用 javafx 制作一个刽子手游戏 因此 很自然地 我尝试使用 for 循环来创建每个按钮 而不是创建 26 个单独的按钮 我将它们放入名为 Alphabet 的 ArrayList 中 并将它们添加
  • 快速滚动 UIPageViewController 阻止视图控制器更新

    我有一个 UIPageviewcontroller 里面有两个控制器 当您滑动到下一个时 我使用 viewController 参数来设置适当的委托 但我的经验是 如果你滑动得太快 函数 viewControllerAfter 就无法正确更
  • 用于加密的公钥;解密用的私钥?

    我知道私钥和公钥在数学上是相关的 用一个密钥加密的数据只能用另一个密钥解密 我的问题是私钥总是用于加密数据 而公钥总是用于解密数据 或者可以反过来 如果是这样 您能否给出一些在其他方向使用的示例应用程序 用于加密的公钥和用于解密的私钥 加密
  • 连接到 unix:/var/run/php5-fpm.sock 失败。我的设置有什么问题吗?

    我在 DigitalOcean 上有一个 2GB VPS 并且在 Debian 7 下使用 NGINX php fpm 和 unix 套接字托管 WordPress 3 9 1 它一直工作得很好 直到上周它开始显示 502 bad gate
  • 根据 pandas 中的给定条件派生特征或列

    我有 df 如下所示 ID Age days N 30 N 31 90 N 91 180 N 180 365 1 201 60 15 30 1 2 800 0 15 5 10 3 800 0 0 10 6 4 100 0 0 0 370 5
  • 在 HTML5 中使用 IE 特定元标记是否合法?

    我一直在尝试在标题中使用以下两行来验证 html5 文档 整个文档验证得非常好 但是这两行是 IE 特定的 导致页面无效 我的问题 这些元标记有合法的 HTML5 语法吗 我非常希望我的代码有效 但是这些标签不能被省略 根据您对服务器 服务
  • Tensorflow:如何在语义分割过程中忽略特定标签?

    我正在使用张量流进行语义分割 在计算像素损失时 如何告诉张量流忽略特定标签 我读了在这篇文章中 https stackoverflow com questions 39091432 tensorflow softmax ignore neg
  • 具有多个 SSH 密钥对的 Ansible

    我是 Ansible 的新手 我能够对其进行测试并且其工作正常 符合我的测试要求 为了在管理节点和客户端节点之间建立连接 我使用已经创建的 ssh 密钥对 如何使用具有不同 SSH 密钥对的另一个节点 作为参考 我正在考虑 3 个具有不同密
  • Maven - 依赖于多模块聚合器项目

    我有一个多模块 Maven 项目 其结构如下 projectA parent module 1 module 2 我有另一个项目 我想将所有模块引入projectA parent作为运行时依赖项 它是一个 Spring 应用程序 并且每个模
  • 我的图书馆的变化使它变慢了很多。分析对我没有帮助。速度缓慢的原因可能是什么?

    我的问题 简述 我对我的库进行了更改 现在速度慢得多 但我无法弄清楚它在哪里花费了所有额外的时间 分析报告没有帮助 请帮我看看可能是什么原因 一些背景 我创建了一个 Redis 客户端库 名为Hedis http hackage haske
  • 什么是“异步固定句柄”?

    我正在尝试调查一个非常严重的软件崩溃 这可能与托管堆损坏有关 因为它发生在垃圾收集期间 将 WinDbg 与 SOS gchandles 命令一起使用 我得到类似的信息 0 000 gt gchandles GC Handle Statis
  • Magento - 获取产品集合的结果视图 HTML

    我从网络服务中获取了 magento id 列表 我将它们加载到数组中 product ids 所以我有这样的东西 Array 0 gt 1965 1 gt 3371 2 gt 1052 然后我可以将其制作成一个集合 collection
  • OnCollisionEnter() 在 Unity3D 中不起作用

    我有一个带有网格碰撞器的对象和一个带有球体碰撞器的预制件 我希望如果两者发生碰撞 预制件的实例就会被破坏 我在脚本中写了以下内容 private void OnCollisionEnter Collision c if c target D
  • 单线程应用程序是一种死技术吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • VB6的默认字体从哪里获取

    VB6从哪里得到的default字体来自 是系统字体吗 是由地区决定的吗 无论实际字体如何 它的大小总是相同吗 应用程序的字体在Font控件的属性 VB6默认有MS 无衬线字体 大小 8 这是 Windows 95 98 中的默认系统字体
  • 根据内容调整iframe高度

    我正在使用以下脚本自动调整 iframe 高度 function autoIframe frameId try frame document getElementById frameId innerDoc frame contentDocu
  • PHP 中有从数组中提取“列”的函数吗?

    我有一个数组的数组 具有以下结构 array array page gt page1 name gt pagename1 array page gt page2 name gt pagename2 array page gt page3 n
  • 如何在 Raphael 中使用 eve() ?

    有人可以给我一个拉斐尔的简单例子吗eve 我不太明白参数以及如何调用事件 我查了一下 但好像用过的人不多 事件功能的简单示例Rapha l http www raphaeljs com 我们定义将触发事件的函数 function bar v
  • javascript 数组的范围从 IE9 到 FireFox/Chrome 有所不同

    我已经缩小了我的基本问题的范围 从 IE9 到 FireFox 和 Chrome 数组的范围有所不同 在以下函数 仅摘录 中 我声明一个数组 然后通过调用 getJSON 来填充它 因为引用 HoldEm 的行出现在 ProcessArra