[英]How to remove empty array values ("") from an array?
我有一个二维数组,它是从带有 jQuery 的 html 表生成的,但有些值是空的,所以显示""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因,并非所有这些值都被删除。
Output: https://imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
我很惊讶没有人在这里给出正确准确的答案。
在此处的所有基于 Boolean 的表达式中,您将过滤您想要保留的结果。 例如 - "0"
等。
array.filter(item => item !== '')
我有一个二维数组,它是使用jQuery的html表生成的,但是有些值是空的,因此显示为""
。
如何删除空值?
<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>
我已经尝试过以下代码:
for( var i = 0; i < columns[0].length; i++){
if ( columns[0][i] === "") {
columns[0].splice(i, 1);
}
}
它适用于一些空值,但由于某种原因并非所有值都被删除。
输出: https : //imgur.com/e7BAdQK
在 ES6 中,假设您有以下数组:
arr = [1, 2, 3, '', false, '4'];
并且您想从数组中删除''
(这是一个空值)。 你可以做:
const filter = (...args) => args.filter(el => el !== '');
console.log(filter(...arr));
[1, 2, 3, false, "4"] // Output
或使用地图(常规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.