Javascript 通过拆分数组循环并使用wrapInner输出

Javascript 通过拆分数组循环并使用wrapInner输出,javascript,jquery,arrays,loops,Javascript,Jquery,Arrays,Loops,我很难想出做以下事情的最佳方法。我得到了0到x个字符串名,即:Zillow,Trulia。我想做的是将图像与这些字符串名称关联,然后将它们显示到列表中。我正在尝试执行切换语句,但我不确定这是否适用于1种以上的情况…如果我错了,请纠正我 例如,变量列表包含两个项(Zillow/Trulia),我如何检查kysplit函数变量的多个值,然后添加输出:$(“#查看图标列表”).wrapInner(“”+zillowImg+””) 现在,我的switch case抛出了一个意外的令牌错误,但我认为我并没

我很难想出做以下事情的最佳方法。我得到了0到x个字符串名,即:Zillow,Trulia。我想做的是将图像与这些字符串名称关联,然后将它们显示到列表中。我正在尝试执行切换语句,但我不确定这是否适用于1种以上的情况…如果我错了,请纠正我

例如,变量列表包含两个项(Zillow/Trulia),我如何检查ky
split
函数变量的多个值,然后添加输出:
$(“#查看图标列表”).wrapInner(“
  • ”+zillowImg+”
  • ”)

    现在,我的switch case抛出了一个意外的令牌错误,但我认为我并没有使用正确的方法。有人知道我会怎么做吗?我会做一些循环吗?如果是的话,我会如何构造它

    var reviewSiteNames = 'Zillow,Trulia';
        reviewSiteNames = reviewSiteNames.split(',');
        console.log(reviewSiteNames);
        var zillowImg = '<img src="https://s3.amazonaws.com/retain-static/www/zillow.jpg" alt="Zillow">';
        var truliaImg = '<img src="https://s3.amazonaws.com/retain-static/www/trulia.png" alt="Trulia">';
    
        if (reviewSiteNames == '') {
            $('#no-current-reviewSites').html('No review sites currently added')
        }
        /*else if (reviewSiteNames) {
            $('#review-icon-list').wrapInner('<li class="review-icon"></li>');
        }*/
        switch (true) {
            case (reviewSiteNames.indexOf('Zillow') >= 0):
                $('#review-icon-list').wrapInner('<li class="review-icon">' + zillowImg + '</li>');
                break;
            case (reviewSiteNames.indexOf('Realtor.com') >= 0):
                $('#review-icon-list').wrapInner('<li class="review-icon">' + realtorDotComImg + '</li>');        
                break;        
            case (reviewSiteNames.indexOf('Trulia') >= 0):
                $('#review-icon-list').wrapInner('<li class="review-icon">' + truliaImg + '</li>');
            default: return '';
        }​;
    
    //名称:
    变量名称='Zillow,Trulia';
    names=names.split(',');
    //图像映射器:以名称作为键,以图像作为值的对象
    变量图像={
    “Zillow”:“,
    “特鲁利亚”:”
    };
    //如果名称为空:(名称==''将不起作用,因为名称不再是字符串,它现在是数组)
    如果(names.length==0){
    $('#没有当前的评论站点').html('当前没有添加评论站点')
    }
    //如果有名字
    否则{
    //循环遍历所有名称
    name.forEach(函数(名称){
    //如果此名称在图像映射器中获得图像(图像[名称]!==未定义)
    如果(图像[名称]){
    //然后用它做些神奇的事情
    $(“#查看图标列表”).wrapInner(“
  • ”+图像[名称]+”
  • ”); } }); }
    我希望这是有用的,因为我不太确定目标到底是什么。

    //名称:
    变量名称='Zillow,Trulia';
    names=names.split(',');
    //图像映射器:以名称作为键,以图像作为值的对象
    变量图像={
    “Zillow”:“,
    “特鲁利亚”:”
    };
    //如果名称为空:(名称==''将不起作用,因为名称不再是字符串,它现在是数组)
    如果(names.length==0){
    $('#没有当前的评论站点').html('当前没有添加评论站点')
    }
    //如果有名字
    否则{
    //循环遍历所有名称
    name.forEach(函数(名称){
    //如果此名称在图像映射器中获得图像(图像[名称]!==未定义)
    如果(图像[名称]){
    //然后用它做些神奇的事情
    $(“#查看图标列表”).wrapInner(“
  • ”+图像[名称]+”
  • ”); } }); }

    我希望这是有用的,因为我不太确定目标到底是什么。

    以下是我将如何编写我从您的代码中理解的内容:

    我想您应该检查
    reviewSiteNames
    数组中是否有特定的单词,以确定如何包装
    #review icon list
    元素

    // Site names as a string
    var reviewSiteNames = 'Zillow,Trulia';
    
    // Site names as an array
    reviewSiteNames = reviewSiteNames.split(',');
    //console.log(reviewSiteNames);
    
    // Some images used in li wrappers...
    var zillowImg = '<img src="https://s3.amazonaws.com/retain-static/www/zillow.jpg" alt="Zillow">';
    var truliaImg = '<img src="https://s3.amazonaws.com/retain-static/www/trulia.png" alt="Trulia">';
    
    // If the array is empty
    if (reviewSiteNames.length == 0) {
      $('#no-current-reviewSites').html('No review sites currently added')
    }
    
    var myHTMLtoInsert = "";
    
    // Check if specific values are in array
    if( $.inArray('Zillow', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + zillowImg + '</li>';
    
    }
    if( $.inArray('Realtor.com', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + realtorDotComImg + '</li>';
    }
    if( $.inArray('Trulia',, reviewSiteNames) ){ 
       myHTMLtoInsert += '<li class="review-icon">' + truliaImg + '</li>';
    }
    
    
    $('#review-icon-list').html(myHTMLtoInsert);
    
    //站点名称作为字符串
    var reviewSiteNames='Zillow,Trulia';
    //作为数组的站点名称
    reviewSiteNames=reviewSiteNames.split(',');
    //console.log(reviewSiteNames);
    //li包装中使用的一些图像。。。
    var zillowImg='';
    var truliaImg='';
    //如果数组为空
    如果(reviewSiteNames.length==0){
    $('#没有当前的评论站点').html('当前没有添加评论站点')
    }
    var myHTMLtoInsert=“”;
    //检查数组中是否存在特定值
    if($.inArray('Zillow',reviewSiteNames)){
    myHTMLtoInsert+='
  • '+zillowImg+'
  • '; } 如果($.inArray('Realtor.com',reviewSiteNames)){ myHTMLtoInsert+='
  • '+RealTorTotComimg+'
  • '; } 如果($.inArray('Trulia',reviewSiteNames)){ myHTMLtoInsert+='
  • '+truliaImg+'
  • '; } $(“#查看图标列表”).html(myHTMLtoInsert);
    以下是我如何写出我从您的代码中理解的内容:

    我想您应该检查
    reviewSiteNames
    数组中是否有特定的单词,以确定如何包装
    #review icon list
    元素

    // Site names as a string
    var reviewSiteNames = 'Zillow,Trulia';
    
    // Site names as an array
    reviewSiteNames = reviewSiteNames.split(',');
    //console.log(reviewSiteNames);
    
    // Some images used in li wrappers...
    var zillowImg = '<img src="https://s3.amazonaws.com/retain-static/www/zillow.jpg" alt="Zillow">';
    var truliaImg = '<img src="https://s3.amazonaws.com/retain-static/www/trulia.png" alt="Trulia">';
    
    // If the array is empty
    if (reviewSiteNames.length == 0) {
      $('#no-current-reviewSites').html('No review sites currently added')
    }
    
    var myHTMLtoInsert = "";
    
    // Check if specific values are in array
    if( $.inArray('Zillow', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + zillowImg + '</li>';
    
    }
    if( $.inArray('Realtor.com', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + realtorDotComImg + '</li>';
    }
    if( $.inArray('Trulia',, reviewSiteNames) ){ 
       myHTMLtoInsert += '<li class="review-icon">' + truliaImg + '</li>';
    }
    
    
    $('#review-icon-list').html(myHTMLtoInsert);
    
    //站点名称作为字符串
    var reviewSiteNames='Zillow,Trulia';
    //作为数组的站点名称
    reviewSiteNames=reviewSiteNames.split(',');
    //console.log(reviewSiteNames);
    //li包装中使用的一些图像。。。
    var zillowImg='';
    var truliaImg='';
    //如果数组为空
    如果(reviewSiteNames.length==0){
    $('#没有当前的评论站点').html('当前没有添加评论站点')
    }
    var myHTMLtoInsert=“”;
    //检查数组中是否存在特定值
    if($.inArray('Zillow',reviewSiteNames)){
    myHTMLtoInsert+='
  • '+zillowImg+'
  • '; } 如果($.inArray('Realtor.com',reviewSiteNames)){ myHTMLtoInsert+='
  • '+RealTorTotComimg+'
  • '; } 如果($.inArray('Trulia',reviewSiteNames)){ myHTMLtoInsert+='
  • '+truliaImg+'
  • '; } $(“#查看图标列表”).html(myHTMLtoInsert);
    是否必须是
    reviewSiteNames.indexOf('Trulia')
    ?为什么你不能用
    ==
    来代替呢?@ibrahimmahrir我用的是这个网站上的一个例子,它使用了
    索引,所以我认为这是正确的方法,但是如果
    ==
    有效,那就好了。我只是不确定如何让它工作。
    ==
    是一个检查类型是否匹配的操作员。这不是问题所在<代码>开关
    语句肯定被误用了。错误是因为
    默认值:返回“”(如果代码未包装在函数中)。+您能详细解释一下您想要实现什么吗。这仍然很模糊。它必须是
    reviewSiteNames.indexOf('Trulia')
    ?为什么你不能用
    ==
    来代替呢?@ibrahimmahrir我用的是这个网站上的一个例子,它使用了
    索引,所以我认为这是正确的方法,但是如果
    ==
    有效,那就好了。我只是不确定如何让它工作。
    ==
    是一个检查类型是否匹配的操作员。这不是问题所在<代码>开关
    语句为m
    // Site names as a string
    var reviewSiteNames = 'Zillow,Trulia';
    
    // Site names as an array
    reviewSiteNames = reviewSiteNames.split(',');
    //console.log(reviewSiteNames);
    
    // Some images used in li wrappers...
    var zillowImg = '<img src="https://s3.amazonaws.com/retain-static/www/zillow.jpg" alt="Zillow">';
    var truliaImg = '<img src="https://s3.amazonaws.com/retain-static/www/trulia.png" alt="Trulia">';
    
    // If the array is empty
    if (reviewSiteNames.length == 0) {
      $('#no-current-reviewSites').html('No review sites currently added')
    }
    
    var myHTMLtoInsert = "";
    
    // Check if specific values are in array
    if( $.inArray('Zillow', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + zillowImg + '</li>';
    
    }
    if( $.inArray('Realtor.com', reviewSiteNames) ){
      myHTMLtoInsert += '<li class="review-icon">' + realtorDotComImg + '</li>';
    }
    if( $.inArray('Trulia',, reviewSiteNames) ){ 
       myHTMLtoInsert += '<li class="review-icon">' + truliaImg + '</li>';
    }
    
    
    $('#review-icon-list').html(myHTMLtoInsert);