目录
1. instanceof 判断是否是数组
2. 翻转数组
3. 冒泡的机理sort
对象分为内置对象,自定义对象,浏览器对象
- 内置对象javascript语言自带的,比如Array、Object、Date,供开发者使用,能够使开发更加的高效
- 自定义对象是我们创建的,var obj = {}
- 浏览器对象是javascript语言独有的对象?
下面讲的都是数组的三个内置对象
1. instanceof 判断是否是数组
// 1. instanceof 判断是否是数组
var arr = [1, 2, 3];
var str = '11';
console.log(arr instanceof Array); // true
console.log(str instanceof Array); // false
// 2. Array.isArray(数组名) H5新增 兼容性问题 ie9以上支持
var flag1 = Array.isArray(arr);
var flag2 = Array.isArray(str);
console.log(flag1);// true
console.log(flag2);// false
2.翻转数组
函数定义的方法
// 翻转数组
function Reverse(oldarr) {
if (oldarr instanceof Array) {
var newarr = [];
for (var i = oldarr.length - 1; i >= 0; i--) {
newarr[newarr.length] = oldarr[i]
}
return newarr;
} else {
console.log('这个变量必须是数组');
}
}
console.log(Reverse([1, 2, 3])); // [3,2,1]
console.log(Reverse([5, 2, 3])); // [3, 2, 5]
可以直接用reverse()数组的内置对象的方法直接翻转
var arr = [3, 2, 11, 1, 1, 1, 100000];
console.log(arr.reverse());
3. 冒泡的机理sort
- 一组数组 [3,2,1,7,6] 要求进行排序,从大到小或者从小到大。假如升序
- 需要两次for循环
????????比如 3 和 2 交换,又要和1交换,发现后面的数字都比自己大,就停止交换,这是一趟 ????????外层:数组的长度为5,需要交换4次,方可以完成排序,arr.length - 1 ????????里层:第i个数字,需要交换第 arr.length - i - 1 趟
????????声明一个temp变量作为暂存变量,第一个变量的值给暂存变量 ????????第二个变量的值给第一个变量 ????????暂存变量的值给第二个变量
// 冒泡排序
// 1. 个位数能够成功排序
var arr = [1, 3, 5, 2, 4, 1, 9];
console.log(arr.sort()); // [1,1,2,3,4,5,9]
// 2. 多位数能够直接排序?
var arr1 = [15, 3, 9, 0, 11, 77, 99, 100];
console.log(arr1.sort()); // [0, 100, 11, 15, 3, 77, 9, 99] 发现有点混乱
// 3. 冒泡内置对象如何写
var arr2 = arr1.sort(function (a, b) {
return a - b;
// return b - a; 如果是这句话return,下面就是降序
})
console.log(arr2); // ?[0, 3, 9, 11, 15, 77, 99, 100]
// 4. 冒泡的机理是什么?
var arr3 = [1, 4, 2, 5, 7, 6];
function Sort(arr) {
for (var i = 0; i < arr.length - 1; i++) {
for (var j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
console.log(Sort(arr3));
可以直接用arr.sort()对内部都是个位数的数组进行排序
可以直接用arr.sort(function(a,b) { return a-b};)对内部数据是多位数的数组进行排序
结尾:
学习id: 201903090124-
现在是大三学生,学习到了前后端交互的身份认证阶段,如有不对的地方,欢迎指正,一起努力呀。如有转载请注明出处。
如果这篇文章有内容侵权,请及时告知删除。
如果这篇文章对你有帮助,可以点个赞鼓励一下嘛哈哈哈
|