简体   繁体   English

如何从数组中删除空数组值(“”)?

[英]How to remove empty array values ("") from an array?

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是从带有 jQuery 的 html 表生成的,但有些值是空的,所以显示""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因,并非所有这些值都被删除。

Output: https://imgur.com/e7BAdQK Output: https://imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

i'm pretty surprised nobody gave the right accurate answer here.我很惊讶没有人在这里给出正确准确的答案。

in all of the Boolean based expressions here, you'd filter the results that you'd want to keep.在此处的所有基于 Boolean 的表达式中,您将过滤您想要保留的结果。 for instance - "0" , etc.例如 - "0"等。

array.filter(item => item !== '')

I have an two dimensional array, generated from a html table with jQuery, but some values are empty so "" is displayed.我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""

How can I remove the empty values?如何删除空值?

  <table>    
    <tr>
      <th>1A</th>
      <th>1B</th>
      <th>1C</th>
    </tr>
    <tr>
      <td>2A</td>
      <td>2B</td>
      <td>2C</td>
    </tr>
    <tr>
      <td></td>
      <td>3B</td>
      <td>3C</td>
    </tr>
    <tr>
      <td></td>
      <td></td>
      <td>4C</td>
    </tr>
  </table>
<script>
    var columns = $('tr').first().children().map(function(i) {
        return [
            $('tr').map(function(){
                return $(this).children().eq(i).text()
            }).get()
        ]
    }).get();
<script>

I already tried following code:我已经尝试过以下代码:

for( var i = 0; i < columns[0].length; i++){ 
   if ( columns[0][i] === "") {
    columns[0].splice(i, 1); 
   }
}

It worked for some empty values, but not all of them got removed for some reason.它适用于一些空值,但由于某种原因并非所有值都被删除。

Output: https://imgur.com/e7BAdQK输出: https : //imgur.com/e7BAdQK

In ES6, Lets say you have the following array:在 ES6 中,假设您有以下数组:

arr = [1, 2, 3, '', false, '4'];

And you want to remove '' (Which is an empty value) from the array.并且您想从数组中删除'' (这是一个空值)。 You can do:你可以做:

const filter = (...args) => args.filter(el => el !== '');
console.log(filter(...arr));
[1, 2, 3, false, "4"] // Output

Or Using Map (Regular JS)或使用地图(常规JS)

const myArr = [1, 2, '', '4'];

noEmptyStringInThisArray = [];

myArr.map((elem) => {
    if (elem !== '') {
    noEmptyStringInThisArray.push(elem);
    }
})

console.log(noEmptyStringInThisArray);
// [1, 2, "4"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM