一、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 中的截取操作。