2.5.3和2.5.4是数组部分的排序与查询搜索部分,内容不多,理解起来也不难。
2.5.3搜索和排序
排序方法
js数组的排序方法为sort方法和reverse方法;
reverse方法可以将数组以倒序输出。
var numbers = [1, 3, 2, 4, 5];
numbers.reverse();
console.log(numbers);
输出结果为:
[ 5, 4, 2, 3, 1 ]
sort方法为数组的排序方法。
var numbers = [1, 3, 2, 4, 5];
numbers.sort();
console.log(numbers);
输出结果为:
[ 1, 2, 3, 4, 5 ]
sort方法可以自定义排序方法。
var numbers = [1, 3, 1, 2, 4, 5];
numbers.sort(function (i, j) {
return i - j;
});
console.log(numbers);
输出结果为:
[ 1, 1, 2, 3, 4, 5 ]
对象排序:
var persons = [{
name: 'mjs',
age: '22'
},
{
name: 'ly',
age: '21'
},
{
name: 'zwj',
age: '24'
},
{
name: 'zpj',
age: '17'
}
];
persons.sort(sortPersons);
console.log(persons);
function sortPersons(i, j) {
return i.age - j.age;
}
输出结果为:
[ { name: 'zpj', age: '17' },
{ name: 'ly', age: '21' },
{ name: 'mjs', age: '22' },
{ name: 'zwj', age: '24' } ]
很整齐……
搜索方法
搜索方法就两个,跟java的一模一样:
var numbers = [1, 3, 1, 2, 4, 5];
console.log(numbers.indexOf(3));
console.log(numbers.lastIndexOf(1));
输出结果为:
1
2
本来以为是什么高级牛逼的功能,我想多了。就是返回某个元素的下标。
顺便一提,没有的话会返回-1。
2.5.4输出数组为字符串
这个更简单,只有一个方法。
var names = ['mjs', 'ly', 'zwj', 'zpj'];
console.log(names.join('='));
输出结果为:
ly=mjs=zpj=zwj
join的参数是连接每个数组元素的字符,其实明明直接用toString()输出不也可以么…… 只不过使用逗号连接的。
var names = ['mjs', 'ly', 'zwj', 'zpj'];
console.log(names.toString());
输出结果为:
ly,mjs,zpj,zwj
留言