使用 d3.js 创建的数组识别空向量

我怎样才能显示 if - else 语句,以便它真正起作用?提前致谢


var data = d3.selectAll('.values_half_before').nodes();



var pie = d3.pie() //we create this variable, for the values to be readeable in the console

  .value(function(d) {

    return d.innerHTML;

  })(data);


console.log('pie', pie)


if (pie = ['0', '0', '0']) {

  console.log('it is a null vector');

} else {

  console.log('it is not a null vector');

}

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>

<div class="values_half_before">1</div>

<div class="values_half_before">0</div>

<div class="values_half_before">0</div>

http://img4.mukewang.com/64b8d9160001136b05170127.jpg

重要提示:我希望脚本通过更改 if - else 语句而不是上半部分来工作。



慕码人8056858
浏览 118回答 1
1回答

守候你守候我

单个=符号就是一个任务。您pie在 if 语句内进行覆盖,并['0', '0', '0'] 计算结果为 true,因为它不是空数组。我建议您尽早评估 if 语句。请考虑以下情况,您可以在其中更改 div 内的值以查看输出变化:var data = d3.selectAll('.values_half_before')  .nodes();if(data.every(function(d) { return d.innerHTML === '0'; })) {  console.log('it is a null vector');} else {  console.log('it is not a null vector');  var pie = d3.pie() //we create this variable, for the values to be readeable in the console    .value(function(d) {      return d.innerHTML;    })(data);  console.log('pie', pie)}<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script><div class="values_half_before">0</div><div class="values_half_before">0</div><div class="values_half_before">0</div>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript