JS截取数字的方法详解(js截取数字前几位)

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平