一、JS截取数字前几位
在实际开发中,我们经常需要对数字进行截取操作,下面是JS截取数字前几位的代码示例:
/** * js截取数字前几位 * @param {number} num 要截取的数字 * @param {number} len 截取的位数 * @return {number} 截取后的数字 */ function truncateNumber(num, len) { if (typeof num !== 'number' || len < 0) return NaN; return Number(num.toString().substr(0, len)); }
以上代码中,我们定义了一个函数 truncateNumber,在函数中接收两个参数 num 和 len,分别表示要截取的数字和要截取的位数。在函数内部,我们首先判断传入的参数是否合法,如果不合法,则返回 NaN。
接着,我们将 num 转换成字符串,并使用 substr 方法截取出前 len 个字符,即截取前 len 位数字,最后使用 Number 方法将其转换为数字类型,并返回。
二、JS截取数组的一部分
对于数组的截取操作,JS 中提供了多种方法,下面是常用的两种方法:
1. slice 方法
slice 方法可以从指定的开始索引截取数组,并返回一个新的数组,不会改变原数组,代码如下:
let arr = [0, 1, 2, 3, 4, 5]; let newArr = arr.slice(2, 4); // [2, 3] console.log(newArr);
以上代码中,我们定义了一个数组 arr,使用 slice 方法从索引为 2 到索引为 3(不包括 4)的位置截取出子数组 [2, 3]。
2. splice 方法
splice 方法可以在指定位置插入或删除元素,并返回被删除的元素组成的数组,同时也会改变原数组,代码如下:
let arr = [0, 1, 2, 3, 4, 5]; let removed = arr.splice(2, 2); // [2, 3] console.log(arr); // [0, 1, 4, 5]
以上代码中,我们定义了一个数组 arr,使用 splice 方法从索引为 2 的位置开始,删除 2 个元素(2 和 3),原数组 arr 变为 [0, 1, 4, 5],同时截取出来的子数组为 [2, 3]。
三、JS截取数字前两位、最后一位
JS 中常用的截取数字前两位和最后一位的方法如下:
1. 截取数字前两位
let num = 12345; let result = Math.floor(num / 100); console.log(result); // 123
以上代码中,我们使用 Math 对象中的 floor 方法对 num / 100 进行向下取整,即可截取出数字前两位。
2. 截取数字最后一位
let num = 12345; let result = num % 10; console.log(result); // 5
以上代码中,我们使用取模运算符 % 对 num 取 10 的余数,即可截取出数字的最后一位。
四、JS截取数字前几位函数
除了上面提到的截取数字前两位的方法外,我们也可以封装一个函数来实现截取数字前 len 位的操作,代码如下:
/** * js截取数字前几位 * @param {number} num 要截取的数字 * @param {number} len 截取的位数 * @return {number} 截取后的数字 */ function truncateNumber(num, len) { if (typeof num !== 'number' || len < 0) return NaN; return Math.floor(num / Math.pow(10, num.toString().length - len)); }
以上代码中,我们对截取数字前 len 位的方法进行了封装,实现与之前的 truncateNumber 函数相同。不同的是,这里使用了 Math 对象中的 pow 方法来计算需要除以的数,而不是使用字符串的 substr 方法,同时也不需要进行字符串的转换。
五、JS字符串截取
除了对数字进行截取外,JS 中也提供了字符串截取的方法,代码如下:
1. 截取字符串
使用字符串的 substr 或 substring 方法可以对字符串进行截取,区别在于第二个参数的含义,代码如下:
let str = 'hello world'; let result1 = str.substr(0, 5); // 'hello' let result2 = str.substring(0, 5); // 'hello'
以上代码中,我们使用 substr 和 substring 方法分别截取出了字符串的前 5 个字符。
2. 截取字符串前几位
同样,我们也可以封装一个函数来实现截取字符串前 len 位的操作,代码如下:
/** * js截取字符串前几位 * @param {string} str 要截取的字符串 * @param {number} len 截取的位数 * @return {string} 截取后的字符串 */ function truncateString(str, len) { if (typeof str !== 'string' || len < 0) return ''; return str.substr(0, len); }
以上代码中,我们对截取字符串前 len 位的方法进行了封装,实现与之前的 truncateNumber 函数相同。不同的是,这里使用了字符串的 substr 方法进行截取,而不是计算需要截取的位置。
六、JS截取数组选取3~5个
对于需要从数组中选取一部分元素的场景,我们可以使用 slice 方法,代码如下:
let arr = [0, 1, 2, 3, 4, 5]; let newArr = arr.slice(3, 6); // [3, 4, 5] console.log(newArr);
以上代码中,我们使用 slice 方法从索引为 3 的位置开始,截取出包括索引为 3、4、5 的元素组成的子数组 [3, 4, 5]。
七、总结
本文主要对 JS 截取数字的多种方法进行了详细的介绍,包括截取数字前几位、截取数组的一部分、截取数字前两位和最后一位、截取数字前几位函数、字符串截取和截取数组选取3~5个元素等,希望可以帮助到读者更好地了解和利用 JS 中的截取操作。