Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用于环路/开关优化_Javascript_Jquery_For Loop_Switch Statement - Fatal编程技术网

Javascript 用于环路/开关优化

Javascript 用于环路/开关优化,javascript,jquery,for-loop,switch-statement,Javascript,Jquery,For Loop,Switch Statement,我有一个for loop循环和数组,还有一个switch语句来匹配值。当存在匹配项时,我会在正文中附加一个。现在,我在append中使用当前循环的索引,并想知道是否有更简单的方法(尽管这并不像现在这样疯狂) 我的主要兴趣是看看是否有办法避免改写这一行 $("#cssLiveConsole").append("<div id='cssLive" + styles[s] + "' class='option-wrap'>" + styles[s] + "</div>");

我有一个
for loop
循环和数组,还有一个
switch
语句来匹配值。当存在匹配项时,我会在正文中附加一个
。现在,我在append中使用当前循环的索引,并想知道是否有更简单的方法(尽管这并不像现在这样疯狂)

我的主要兴趣是看看是否有办法避免改写这一行

$("#cssLiveConsole").append("<div id='cssLive" + styles[s] + "' class='option-wrap'>" + styles[s] + "</div>");
提前谢谢你

var acceptable=['font-family'、'font-size'、'font-color'、'font-hover'、'background-color'、'background-hover'];
var acceptable = ['font-family', 'font-size', 'font-color', 'font-hover', 'background-color', 'background-hover'];

$.each(styles, function(i, style){
    if($.inArray(style, acceptable)){
        $("#cssLiveConsole").append("<div id='cssLive" + styles[i] + "' class='option-wrap'>" + styles[i] + "</div>");
    }
});
$。每个(样式、功能(i、样式){ 如果($.inArray(样式,可接受)){ $(“#cssLiveConsole”).append(“+styles[i]+”); } });
var可接受=['font-family'、'font-size'、'font-color'、'font-hover'、'background-color'、'background-hover'];
$。每个(样式、功能(i、样式){
如果($.inArray(样式,可接受)){
$(“#cssLiveConsole”).append(“+styles[i]+”);
}
});
var测试={
“字体系列”:正确,
“字体大小”:true,
“字体颜色”:true,
“字体悬停”:true,
“背景色”:正确,
“背景悬停”:true
};
对于(var s=0;s
var测试={
“字体系列”:正确,
“字体大小”:true,
“字体颜色”:true,
“字体悬停”:true,
“背景色”:正确,
“背景悬停”:true
};
对于(var s=0;s
这更适合于代码,在任何情况下都是完全相同的…@null看起来像这里的大多数问题一样…你的观点是什么@Pointy?@VIDesignz代码审查是针对需要优化的工作解决方案,因此,对于存在实际错误/问题的代码来说,这更适合于任何情况下的代码完全相同…@null看起来与这里的大多数问题一样…您的观点是什么@Pointy?@VIDesignz代码审查针对需要优化的工作解决方案,对于有实际错误/问题的代码也是如此。我喜欢这种方法,似乎在性能上也会很好。我喜欢这种方法,似乎在性能上也会很好。我从未见过
$。但inArray
…看起来很有希望。你知道它是否会在两个数组中循环吗?例如
style*array
…或者创建和索引数组并与之匹配…只要curious@VIDesignz
$。每个(styles
将迭代所有样式。稍后,它将匹配
style
中的键,与
acceptable
中的键相匹配。因此它将在
acceptable
中循环搜索
style
的键。因此,它的性能将与@MTO的答案相当。@VIDesignz在我的回答中,它实际上会快一点。你能帮我理解一件事吗…这些参数是如何设置的吗?
$。每个(样式,函数(i,样式){});
我从未见过
$。不过inArray
…看起来很有希望。你知道它是否会在两个数组中循环吗?例如
样式*数组
…或者创建和索引数组并与之匹配…只要curious@VIDesignz
$。每个(styles
将迭代所有样式。稍后,它将匹配
style
中的键,与
acceptable
中的键相匹配。因此它将在
acceptable
中循环搜索
style
的键。因此,它的性能将与@MTO的答案相当。@VIDesignz在我的回答中,它实际上会快一点。但是你能帮我理解一件事吗…这些参数是如何设置的吗?
$。每个(样式,函数(i,样式){};
var acceptable = ['font-family', 'font-size', 'font-color', 'font-hover', 'background-color', 'background-hover'];

$.each(styles, function(i, style){
    if($.inArray(style, acceptable)){
        $("#cssLiveConsole").append("<div id='cssLive" + styles[i] + "' class='option-wrap'>" + styles[i] + "</div>");
    }
});
    var tests = {
        'font-family': true,
        'font-size': true,
        'font-color': true,
        'font-hover': true,
        'background-color': true,
        'background-hover': true
    };
    for (var s = 0; s < styles.length; ++s ) {
        if ( tests[styles[s]] )
        {
            console.log(styles[s]); // **For Testing - Removable**
            $("#cssLiveConsole").append("<div id='cssLive" + styles[s] + "' class='option-wrap'>" + styles[s] + "</div>");
        }
    }