一、js数组slice函数
js数组slice函数被用于从一个数组中返回一个选定的元素序列,生成一个新的数组对象。
语法如下:
array.slice(start, end)
其中,参数start是必须的,end是可选的。start指定从何处开始选取(包含start所在元素),end(可选)为截止处(不包含)。
示例代码:
var fruits = ['apple', 'banana', 'mango', 'orange', 'pineapple']; var citrus = fruits.slice(1,3); //截取数组从索引1开始到索引3的元素,不包括索引3的元素 console.log(citrus); //输出:["banana", "mango"]
二、Js数组排序
在使用slice之前,可以对数组进行排序以提高效率。js提供了sort()函数进行排序操作。sort()函数默认将元素转换为字符串,并在Unicode位点顺序下进行排序。可以编写自定义函数用作sort()的参数来控制排序表现。排序完成后使用slice()来提取想要的元素。
示例代码:
var point = [40, 100, 1, 5, 25, 10]; point.sort(function(a, b){return a-b}); //数字排序后生成一个新数组 var newpoint = point.slice(1,3); //提取排序后的第2、3两个元素 console.log(newpoint); //输出:[5, 10]
三、js数组slice原理
js数组slice()的原理是从原先的数组中提取出需要的部分,生成一个新的数组,原数组并不会发生任何改变。slice方法返回的新数组可以存储在一个变量中并作为一个数组使用,这有时可以使代码更整洁易读。
示例代码:
var nums = [1,2,3,4,5]; var newNums = nums.slice(2,4); console.log(newNums); //输出:[3, 4] console.log(nums); //输出:[1, 2, 3, 4, 5]
四、js数组
在JavaScript中,数组是一种特殊的对象,用于存储多个元素。js数组中的每个元素可以是任何类型的数据(数字,字符串甚至是另一个数组)。
示例代码:
var myArray = ['苹果', '香蕉', '橙子', 1, 2, 3]; console.log(myArray); //输出:["苹果", "香蕉", "橙子", 1, 2, 3]
五、js数组slice方法
js数组slice()方法用于从已有的数组中返回选定的元素。如果没有指定第二个参数,则选取从起始索引到数组结尾的所有元素。
示例代码:
var fruits = ['苹果', '香蕉', '橙子', '芒果', '梨子']; var citrus = fruits.slice(1); console.log(citrus); //输出:["香蕉", "橙子", "芒果", "梨子"]
六、js数组slice和splice
js数组slice()和splice()是Array.prototype上的两个方法。它们都可以从数组中提取元素,但有所不同。slice()返回一个新数组,而splice()删除、替换或插入一个或多个元素,并返回原数组。
示例代码:
var myArray = ['早餐', '午餐', '晚餐', '夜宵']; var slicedArray = myArray.slice(1,3); //slice()方法从索引1到2返回引用 console.log(myArray); //输出:["早餐", "午餐", "晚餐", "夜宵"] console.log(slicedArray); //输出:["午餐", "晚餐"] var splicedArray = myArray.splice(1, 2); //删除从索引1开始的2个元素,并返回被删除元素的数组 console.log(myArray); //输出:["早餐", "夜宵"] console.log(splicedArray); //输出:["午餐", "晚餐"]
七、js数组slice方法时间复杂度
时间复杂度是算法的一个性质,衡量的是执行程序所需的计算工作量。对于js数组的slice()方法,时间复杂度为O(n),其中n是需要返回的元素个数。
八、js数组排序
在JavaScript中,可以使用sort()方法对数组进行排序。排序操作可以用来提高对数组的遍历或查找操作的效率。
九、js数组方法
在JavaScript中,还有其他许多有用的数组方法,例如push()、pop()、shift()、unshift()、indexOf()和lastIndexOf()。
push()向数组末尾添加一个或多个元素。
pop()从数组末尾删除一个元素。
shift()从数组头部删除一个元素。
unshift()向数组头部添加一个或多个元素。
indexOf()查找一个指定元素在数组中第一次出现的位置。
lastIndexOf()查找一个指定元素在数组中最后一次出现的位置。
示例代码:
var myArray = ['苹果', '香蕉', '橙子']; myArray.push('梨子'); console.log(myArray); //输出:["苹果", "香蕉", "橙子", "梨子"] myArray.pop(); console.log(myArray); //输出:["苹果", "香蕉", "橙子"] myArray.shift(); console.log(myArray); // 输出:["香蕉", "橙子"] myArray.unshift('西瓜'); console.log(myArray); //输出:["西瓜", "香蕉", "橙子"] console.log(myArray.indexOf('香蕉')); //输出:1 console.log(myArray.lastIndexOf('橙子')); //输出:2