js 去空[转]

本文介绍了一种使用JavaScript实现字符串前后空白字符去除的方法,包括Trim()、Ltrim()和RTrim()函数。通过简单的HTML示例演示了如何在网页中应用这些函数来处理用户输入。
<SCRIPT LANGUAGE="JavaScript">
<!-- //出处:网上搜集 // Trim() , Ltrim() , RTrim()
String.prototype.Trim = function() { return this.replace(/(^\s*)|(\s*$)/g, ""); }
String.prototype.LTrim = function() { return this.replace(/(^\s*)/g, ""); }
String.prototype.RTrim = function() { return this.replace(/(\s*$)/g, ""); }
//
--> </SCRIPT>

<input type="text" value=" 前后都是空格 " id="space">
<input type="button" value="去前后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.Trim();
document.getElementById('space').select();">
<input type="button" value="去前空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.LTrim();
document.getElementById('space').select();">
<input type="button" value="去后空格" onclick="javascript:document.getElementById('space').value=document.getElementById('space').value.RTrim();document.getElementById('space').select();">
<input type="button" value="还原" onclick="javascript:document.getElementById('space').value=' 前后都是空格 ';">
<a href="http://www.yaoasnsi.com" target="_blank">访问yaosansi.com</a>
### JavaScript 数组过滤值、`undefined` 和 `null` 在 JavaScript 中,可以通过多种方式除数组中的值或无效元素(如 `undefined`、`null` 和字符串)。以下是几种常见的实现方法及其解释: #### 使用 `Array.prototype.filter()` 方法 `filter()` 是一种高效的方法来移除数组中的特定值。通过传递回调函数作为参数,可以定义哪些元素应该保留在新数组中。 ```javascript const arr = ['apple', '', null, 'banana', undefined, 'cherry']; const newArr = arr.filter(item => item !== null && item !== undefined && item !== ''); console.log(newArr); // 输出: ['apple', 'banana', 'cherry'] ``` 这种方法显式地排除了 `null`、`undefined` 和字符串[^1]。 #### 自定义 `compact` 函数 另一种更通用的方式是创建一个自定义的辅助函数 `compact` 来清理数组。此函数不仅会删除指定的无效值,还可以进一步扩展功能以满足其他需求。 ```javascript function compact(array) { array = array.filter((item, index) => array.indexOf(item) === index); return array.filter(function (item) { return item !== null && item !== undefined && item !== ''; }); } const arr = ['apple', '', null, 'banana', undefined, 'cherry']; const newArr = compact(arr); console.log(newArr); // 输出: ['apple', 'banana', 'cherry'] ``` 这里先进行了重操作再执行过滤逻辑[^2]。 #### 遍历法 除了使用内置方法外,也可以手动遍历整个数组并构建一个新的不含无效项的结果集。 ```javascript let arr = ['apple', '', null, 'banana', undefined, 'cherry']; let newArr = []; // 方法1:forEach 循环 arr.forEach(item => { if (item) { newArr.push(item); } }); // 方法2:for...of 循环 newArr = []; for (let item of arr) { if (item) { newArr.push(item); } } console.log(newArr); // 输出: ['apple', 'banana', 'cherry'] ``` 这种方式虽然稍显冗长但更加直观易懂[^3]。 #### 利用隐式类型换 最简洁的办法之一便是利用布尔类型的特性来进行筛选。由于诸如 `''`, `0`, `false`, `null`, `undefined`, 及 `NaN` 这些特殊值都会被成假(`false`),因此可以直接调用 `Boolean` 构造器或者其简化形式完成任务。 ```javascript const arr = [1, 2, "", 3, null, undefined, 4, 0, false, NaN]; const newArr = arr.filter(Boolean); console.log(newArr); // 输出: [1, 2, 3, 4] // 若要保留数值零(0),则需额外判断条件: const newArrWithZero = arr.filter(item => item === 0 || Boolean(item)); console.log(newArrWithZero); // 输出: [1, 2, 3, 4, 0] ``` 注意当采用这种策略时可能会意外丢弃某些合法的数据比如数字'0'[ ^5 ]. 以上介绍了几种主流技术手段用于解决JavaScript环境下清除数组里不必要的白条目问题。每种方案各有优劣,在实际开发过程中可根据具体场景灵活选用最适合的一种。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值