Jquery- 使用 if 语句创建数组并连接数组元素


Jquery- create array using if statement and join array elements

我成功地使用 php 内爆功能来显示饮料类型。请参阅下面的代码。

<?php 
echo 'Type:';
$types = array();    
if ($a == 1) {$types[] = 'Pepsi';}
if ($b == 1) {$types[] = 'Mirinda';}  
if ($c == 1) {$types[] = '7up';} 
echo implode(', ', $types);
?>

现在我需要使用 jquery 来做到这一点,即使用 if 语句创建数组,然后连接它们。你能帮我修改下面的代码以获得预期的结果吗?

$( "#view" ).html(
   '<div>+
   'Type:'+
   (a == 1?"Pepsi, " :"") +
   (b == 1?"Mirinda, " :"") +    
   (c == 1?"7up, " :"")+
   '</div>');

我尝试了这种方式,但没有奏效:

 $( "#view" ).html(
       '<div>+
       'Type:'+
       (a == 1?types[] = 'Pepsi'  :types[] = '') + //syntax error
       (b == 1?types[] = 'Mirinda':types[] = '') + //syntax error   
       (c == 1?types[] = '7up'    :types[] = '')+ //syntax error
       types.join(',');
       '</div>');

老实说,我不知道你想在那里做什么,但是连接函数在没有周围所有东西的情况下工作。

var a = 1;
var b = 3;
var c = 1;
var types = [];
if (a == 1) types.push("Pepsi");
if (b == 1) types.push("Mirinda");
if (c == 1) types.push("7up"); 
$( "#view" ).html("Types: " + types.join(', '));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="view"></div>

你的问题我不清楚,但如果你想使用.join()方法,那么首先你应该有一个如下数组:

var a = b = c = 1,  arr = [];
a = (a == 1) ? arr.push("Pepsi"):""; // push to array if true
b = (b == 1) ? arr.push("Coke"):""; // push to array if true
c = (c == 1) ? arr.push("7up"):""; // push to array if true
$('div').html('Types:'+ arr.join(', ')); // then join it here
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div></div>