JavaScript sort() 对链表中的元素进行排序和解释
更新时间:2019年10月13日 15:40:23 作者:runde
在这篇文章中,小编为大家整理了一个关于javascript sort()对链表中的元素进行排序的相关知识点。 有需要的同学可以学习一下。
javascript sort() 可以对链表中的元素进行排序,
语法格式:arrayObject.sort(sortby)
arrayObject 是一个链表对象,sortby 是可选的排序 javascript,它是用于确定元素顺序的函数名称。 如果省略该参数,则元素将按照 ASCII 字符的顺序降序排序。
当不使用比较功能进行排序时,排序方式是按字符的ASCII值排序,先比较第一个字符,如果第一个字符相等,则比较第二个字符,以此类推。
对于数值数据,如果是基于字符进行比较,结果可能不是我们想要的,所以我们需要使用比较函数。 比较函数有两个参数,分别代表每次排序的两个字段项。 sort()排序时,每次比较两个字段项时都会执行该参数,并将比较的两个数组项作为参数传递给该函数。 当函数的返回值小于0时,交换两个字段的顺序,否则不交换,即函数的返回值大于0,表示降序排列,返回值函数的值小于0排序 javascript,表示顺序相反。
对数组中的元素进行排序 var x = new Array(1,20,8,12,6,7); //创建数组 document.write("排序前数组:"+x.join(",")+""); //输出数组元素 x.sort(); //按字符升序排列数组 document.write("没有使用比较函数排序后数组:"+x.join(",")+"
"); //输出排序后数组 x.sort(asc); //有比较函数的升序排列 /*升序比较函数*/ function asc(a,b){ return a-b; } document.write("排序升序后数组:"+x.join(",")+"
"); //输出排序后的数组 x.sort(des); //有比较函数的降序排列 /*降序比较函数*/ function des(a,b){ return b-a; } document.write("排序降序后数组:"+x.join(",")); //输出排序后数组
您可以测试一下上面的示例代码,感谢您对脚本之家的学习和支持。
在这篇文章中,我们将介绍15个大家都应该知道的JavaScript链表方法。
01. 推()
将一个或多个元素添加到列表末尾 Push() 方法将一个或多个元素添加到列表末尾并返回字段的新厚度。 当您需要向字段添加元素而不指定索引时,此方法非常有用。
const array = [1, 2, 3];
array.push(4, 5);
console.log(array); // Output: [1, 2, 3, 4, 5]
02、pop()
删除并返回链表中的最后一个元素 pop() 方法删除并返回链表中的最后一个元素。 当需要从链表末尾删除元素时,此方法非常有用。
const array = [1, 2, 3];
const lastElement = array.pop();
console.log(array); // Output: [1, 2]
console.log(lastElement); // Output: 3
03. 移位()
删除并返回链表中的第一个元素 shift() 方法删除并返回链表中的第一个元素。 当您需要从链表开头删除元素时,此方法非常有用。
const array = [1, 2, 3];
const firstElement = array.shift();
console.log(array); // Output: [2, 3]
console.log(firstElement); // Output: 1
04. 取消移位()
将一个或多个元素添加到链表的开头 unshift() 方法将一个或多个元素添加到链表的开头并返回链表的新厚度。 当您需要在链表的开头添加元素时,此方法很有用。
const array = [1, 2, 3];
array.unshift(4, 5);
console.log(array); // Output: [4, 5, 1, 2, 3]
05. 拼接()
在链表的指定索引处添加或删除元素 splice() 方法在链表的指定索引处添加或删除元素。 该方法可用于在链表中的任何位置添加或删除元素。
const array = [1, 2, 3, 4];
array.splice(1, 2, 5, 6);
console.log(array); // Output: [1, 5, 6, 4]
06. 切片()
返回由开始索引和结束索引指定的字段部分的副本。 slice() 方法返回由开始索引和结束索引指定的字段部分的副本。 此方法可用于创建包含原始字段子集的新字段。
const array = [1, 2, 3, 4];
const newArray = array.slice(1, 3);
console.log(newArray); // Output: [2, 3]
07. 连接()
组合两个或多个字段并返回一个新字段 concat() 方法组合两个或多个字段并返回一个新字段。 该方法可用于将链表连接在一起,而无需更改原始字段。
const array1 = [1, 2];
const array2 = [3, 4];
const newArray = array1.concat(array2);
console.log(newArray); // Output: [1, 2, 3, 4]
08. 加入()
将链表的所有元素连接成一个字符串 join() 方法使用指定的分隔符将链表的所有元素连接成一个字符串。 此方法可用于从链表创建字符串。
const array = [1, 2, 3];
const string = array.join("-");
console.log(string); // Output: "1-2-3"
09.indexOf()
返回指定元素在链表中第一次出现的索引。 indexOf() 方法返回指定元素在链表中第一次出现的索引。 如果未找到该元素,此方法将返回 -1。
const array = [1, 2, 3];
const index = array.indexOf(2);
console.log(index); // Output: 1
10.lastIndexOf()
返回字段中最后一次出现的指定元素的索引 lastIndexOf() 方法返回字段中最后一次出现的指定元素的索引。 如果未找到该元素,此方法将返回 -1。
const array = [1, 2, 3, 2];
const index = array.lastIndexOf(2);
console.log(index); // Output: 3
11.forEach()
对链表中的每个元素执行一次提供的函数 forEach() 方法对链表中的每个元素执行一次提供的函数。 该技术可用于对链表的每个元素执行操作。
const array = [1, 2, 3];
array.forEach((element) => {
console.log(element);
}); // Output: // 1 // 2 // 3
12. 地图()
创建一个新字段,其中包含对链表中每个元素调用所提供函数的结果。 map() 方法创建一个新字段,其中包含对链表中每个元素调用所提供函数的结果。 该技术可用于在原始字段的基础上创建新字段。
const array = [1, 2, 3];
const newArray = array.map((element) => {
return element * 2;
});
console.log(newArray); // Output: [2, 4, 6]
13. 过滤器()
创建一个新字段,其中包含通过所提供函数指定的测试的所有元素。 filter() 方法创建一个新字段javascript 排序javascript 排序,其中包含通过所提供函数指定的测试的所有元素。 该方法可用于按条件创建新字段。
const array = [1, 2, 3];
const newArray = array.filter((element) => {
return element > 1;
});
console.log(newArray); // Output: [2, 3]
14. 减少()
对链表的每个元素执行提供的函数并返回单个值。 reduce() 方法对链表的每个元素执行提供的函数并返回单个值。 该方法可用于对链表的所有元素执行操作并返回单个值。
const array = [1, 2, 3];
const sum = array.reduce((accumulator, currentValue) => {
return accumulator + currentValue;
}, 0);
console.log(sum); // Output: 6
15. 排序()
对链表的元素就地排序 sort() 方法对链表的元素就地排序。 该方法可用于对链表进行降序或逆序排序。
const array = [3, 2, 1];
array.sort();
console.log(array); // Output: [1, 2, 3]