jQuery/Javascript布尔

jQuery/Javascript布尔,javascript,jquery,Javascript,Jquery,我有一段代码正在使用,用户可以选择下载饼图的“切片”或整个内容 当他们点击一个切片时,我发送一个名为source的变量,它告诉我它来自哪个切片 现在我正在使用“全部下载”按钮。此操作的源代码仅为all 如果用户选择slice,我的循环就是这样的: // Loop over our data $.each(seed.dataset,function(key, value){ if(this[col] == slice){ table += '<tr>';

我有一段代码正在使用,用户可以选择下载饼图的“切片”或整个内容

当他们点击一个切片时,我发送一个名为
source
的变量,它告诉我它来自哪个切片

现在我正在使用“全部下载”按钮。此操作的源代码仅为
all

如果用户选择
slice
,我的循环就是这样的:

// Loop over our data
$.each(seed.dataset,function(key, value){
   if(this[col] == slice){
      table += '<tr>';
      table += '<td>'+this.escalationID+'</td>';
      table += '<td>'+this.escReasonID+'</td>';
      table += '<td>'+this.reasonText+'</td>';
      table += '<td>'+this.escCreatedBy+'</td>';
      table += '<td>'+this.escCreatorFirst+'</td>';
      table += '<td>'+this.escCreatorLast+'</td>';
      table += '</tr>';
  }
});

您可以将另一个布尔值say
ignoreAll
as“OR”条件与现有的if条件一起使用,如下所示

// Loop over our data
var ignoreAll = true; // change its value as per your requirement
$.each(seed.dataset,function(key, value){
   if(ignoreAll || this[col] == slice){
      table += '<tr>';
      table += '<td>'+this.escalationID+'</td>';
      table += '<td>'+this.escReasonID+'</td>';
      table += '<td>'+this.reasonText+'</td>';
      table += '<td>'+this.escCreatedBy+'</td>';
      table += '<td>'+this.escCreatorFirst+'</td>';
      table += '<td>'+this.escCreatorLast+'</td>';
      table += '</tr>';
  }
});
//在我们的数据上循环
var ignoreAll=true;//根据您的要求更改其值
$.each(种子.数据集,函数(键,值){
if(忽略所有| |此[col]==切片){
表+='';
table+=''+此.escalationID+'';
table+=''+this.escReasonID+'';
table+=''+this.reasonText+'';
table+=''+this.escreatedby+'';
table+=''+this.escCreatorFirst+'';
table+=''+this.escCreatorLast+'';
表+='';
}
});
$。每个(种子、数据集、函数(键、值){
if(source!='slice'| | this[col]==slice){
表+='';
//等等。
或者:

$.each(seed.dataset,function(key, value){
      if (source == 'all'  ||  this[col] == slice){
           table += '<tr>';
           // etc.
$.each(种子、数据集、函数(键、值){
if(source='all'| | this[col]==slice){
表+='';
//等等。

查看下面的代码

如果当前项是一个切片,则会对其进行检查以确保它是正确的切片。如果是,则会调用
getSlice()
,并调用
$。each()
循环会中断以避免不必要的迭代

function getSlice(that) {
    var table = '';
    table += '<tr>';
    table += '<td>' + that.escalationID + '</td>';
    table += '<td>' + that.escReasonID + '</td>';
    table += '<td>' + that.reasonText + '</td>';
    table += '<td>' + that.escCreatedBy + '</td>';
    table += '<td>' + that.escCreatorFirst + '</td>';
    table += '<td>' + that.escCreatorLast + '</td>';
    table += '</tr>';
    return table;
}

// Loop over our data
$.each(seed.dataset, function (key, value) {
    table += source == 'slice' ? (this[col] == slice ? true & getSlice(this) : false) : getSlice(this);
    if (table === true) return false; // break out of loop
});
函数getSlice(即){
var表=“”;
表+='';
table+=''+that.escalationID+'';
table+=''+that.escReasonID+'';
table+=''+that.reasonText+'';
table+=''+that.escreatedby+'';
table+=''+that.escCreatorFirst+'';
table+=''+that.escCreatorLast+'';
表+='';
返回表;
}
//循环查看我们的数据
$.each(seed.dataset,函数(键,值){
table+=source=='slice'?(此[col]==slice?true&getSlice(此):false):getSlice(此);
if(table==true)返回false;//中断循环
});

我现在添加它是为了测试它,但从我所知道的来看,如果
ignoreAll
为false,则不会包含任何数据?如果
ignoreAll
为false,它将检查
此[col]==切片
条件,因为它处于或模式而不是和模式。如果第二个条件为true,则它将向表中添加行。
$.each(seed.dataset,function(key, value){
      if (source == 'all'  ||  this[col] == slice){
           table += '<tr>';
           // etc.
function getSlice(that) {
    var table = '';
    table += '<tr>';
    table += '<td>' + that.escalationID + '</td>';
    table += '<td>' + that.escReasonID + '</td>';
    table += '<td>' + that.reasonText + '</td>';
    table += '<td>' + that.escCreatedBy + '</td>';
    table += '<td>' + that.escCreatorFirst + '</td>';
    table += '<td>' + that.escCreatorLast + '</td>';
    table += '</tr>';
    return table;
}

// Loop over our data
$.each(seed.dataset, function (key, value) {
    table += source == 'slice' ? (this[col] == slice ? true & getSlice(this) : false) : getSlice(this);
    if (table === true) return false; // break out of loop
});