javaScript基础03数组..
2021-05-23 19:31
标签:空间 javascrip tle turn 模拟 shift temp 过滤 执行 javaScript基础03数组.. 标签:空间 javascrip tle turn 模拟 shift temp 过滤 执行 原文地址:https://www.cnblogs.com/huasongweb/p/9734419.html 1 DOCTYPE html>
2 html lang="en">
3 head>
4 meta charset="UTF-8">
5 title>javascript基础练习03title>
6 script>
7 // 简单数据类型 Number String Boolean null undefined
8
9 // 复杂数据类型 对象,方法.,引用类型
10
11 // 简单数据类型存放在栈上面,先进后出.
12
13 // 复杂数据类型的地址放在栈上面,通过栈找到堆存放的具体内容,后执行.
14
15 function person (name) {
16 this.name = name;
17 }
18
19 var p = new person("zhang");
20
21 function fn (person) {
22
23 person.name = "li";
24 }
25 fn(p);
26 console.log(p.name);
27
28 //总结:函数把对象当做参数传递,传递的是地址,传址,并没有划出一份单独的空间
29
30 // 内置对象 内置对象内置对象内置对象
31
32
33 //*********************************
34 //*******************++++++++++______________+++++
35
36
37 var num = new Uint32Array(2); //在num数组里面,创建2个随机整数元素
38
39
40 window.crypto.getRandomValues(num);
41
42 console.log(num);
43
44
45 // 判断是否是日期对象?
46
47 date instanceof Date
48
49 var date = new Date();
50
51 date.getMonth();//月份从0开始算
52
53 // 数组应用:
54
55 // 如何判断一个数据是否是数组?
56 // * instanceof * 判断一个变量是否是一个构造函数实例出来的对象
57
58 // nums instanceof Array;
59 var nums = 1;
60 console.log(!!nums);// ! 取反,!! 转换成boolean;
61
62
63 // 栈:
64 // 先进后出
65
66 // push() //往入口处最后添加一个元素,返回数组长度
67
68 // pop()//弹栈,从入口处弹出一个元素,返回该元素之
69
70
71 // 队列:
72
73 // 先进先出
74
75 // push() 在队列后面添加一个元素
76
77 // shift() 从最前面取出一个元素,为最早放进去的元素
78
79
80 // 排序
81 // sort 从小到大
82
83 // 注意,默认的sort排序,是从元素的最高位到最低位,一一进行对比,会造成20小于1000的现象,!!因此需要改进
84
85 // 需要在sort()里面加上一个函数
86
87 function compare(a,b) {//引用之后,就是比较的相邻的元素
88 return a -b;
89 }
90 var nums = [1000,20];
91
92 nums.sort(compare);
93 console.log(nums);
94
95
96 //手写sort模拟排序
97
98 function mySort(arr,compare) {
99 for (var i = 0;i arr.length - 1;i++) {
100 // console.log("一"+arr.length);
101
102 for (var j = 0;j arr.length -1;j++) {
103
104 if (compare(arr[j],arr[j +1]) > 0) {
105 // console.log("二"+arr.length);
106 var temp = arr[j];
107 arr[j] = arr[j + 1];
108 arr[j + 1] = temp;
109 }
110 }
111 }
112 return arr;
113 }
114
115 var larry = [10002,20]
116 var result = mySort(larry,function (a,b) {
117 return a - b;
118 });
119
120 console.log(result);
121 // reverse 翻转
122
123
124 //数组清空:
125
126 var arr = [1,2,34,5];
127
128 // arr.splice(从哪开始,删除多少个)
129
130 arr.splice(0,arr.length);
131
132
133 //数组填充 fill:
134 var arr = [1,2,34,5];
135
136 console.log(arr.fill("c",1,3));
137
138
139 // every() 通过函数判断数组中的每个元素,是够通过测试,返回True或false
140
141 var arr = [1,2,34,5];
142
143 function isThreshold(arr){
144 return arr > 40;
145 }
146
147 console.log(arr.every(isThreshold));
148
149
150 // 数组元素字符串拼接:
151 var arr = [1,2,34,5];
152 console.log(arr.join("|"));
153
154 // filter 过滤数组中的每个元素,并且生成一个新的数组:
155 var arr = [1,2,34,5];
156
157 function isThreshold(arr) {
158 return arr > 3;
159 }
160
161 var acc = arr.filter(isThreshold);
162 var acc1 = arr.filter(function (item) {
163
164
165 return item > 30;
166 });
167 console.log(acc1);
168 console.log(acc);
169
170 // 用indexOF查找一个数组中制定元素的所有下标
171
172 var arr = ["a",1,2,3,"a",24,2,5,"a","c",216,1,"a",123,23,4,];
173 var indexArry = [];
174 var i = 0;
175 while (true) {
176
177 var index = arr.indexOf("a",i);//查找"a"的下标,从i开始;
178 if (index != -1) {
179 i = index+1;
180 var bindex = index;
181 indexArry.push(bindex);
182 }
183 else{
184 break;
185 }
186 }
187
188 console.log(indexArry); //[0, 4, 8, 12]
189
190
191 //数组去重..
192
193
194 script>
195 head>
196 body>
197
198 body>
199 html>
上一篇:python之shutil模块
下一篇:python之pickle模块