微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Javascript数组操作:是否有更好的方法来执行以下操作?

如何解决Javascript数组操作:是否有更好的方法来执行以下操作?

| 我有以下代码可以做到: 从页面上的元素中获取文本 特定元素的过滤器 在\'\\ n \'上分割 删除数组中所有空格的元素 正如您所期望的那样,这似乎比我想要的时间要多一些,并且不会删除数组中所有用空格填充的元素。 仅供参考,然后将两个数组合并为一个,并使用Yepnope加载脚本和样式。此过程大约需要1.5秒,这对于用户来说确实很长。 我该如何提高速度?
var $containerHtml = $(html);

    // Add the scripts
    scriptArray = $.grep($containerHtml.filter(\'#includeScripts\').text().split(\'\\n\'),function (element,index) {
                    return element !== \"\" && element !== \" \";
                });
    // Add the styles
    styleArray = $.grep($containerHtml.filter(\'#includeStylesheets\').text().split(\'\\n\'),index) {
                    return element !== \"\" && element !== \" \";
                });

    // Combine the two arrays into 1
    combinedArrays = scriptArray.concat(styleArray);

    // Load the scripts and styles 
    yepnope([{
        load: combinedArrays,callback: function (url,result,key) {
                if (window.console && window.console.firebug) {
                    console.log(\"Loaded \" + url);
                }
        }}]);
    

解决方法

为什么在html页面中将脚本作为文本数组? 我将它们存储为“ 1”文件在服务器上。
$.when($.getJSON(\"url/script.json\"),$.getJSON(\"url/stylesheet.json\")).then(function(script,style) {
    var arr = ...; // combine script & style. 
    yepnope(...);
});
如果您不希望它们是静态的,则根据传入的URL设置一些路由和服务器json文件。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。