1、数组

1-1.join转换为字符串方法

.join(seprate) —>可以将数组拼接成字符串

  1. <script>
  2. var arr = ["html","css","js"];
  3. /* join(seprate) -->可以将数组拼接成字符串 */
  4. console.log(arr.join(""));
  5. console.log(arr.join("|"));
  6. console.log(arr.join(" "));
  7. console.log(arr.join("*"));
  8. console.log(typeof arr.join(""));
  9. </script>

image.png
提取导演名字转化为字符串

  1. <body>
  2. <p id="app"></p>
  3. <script>
  4. var directs = [
  5. {name:"吴京",id:1001},
  6. {name:"章子怡",id:1002},
  7. {name:"徐峥",id:1003},
  8. ]
  9. /* str = 吴京/章子怡/徐峥 */
  10. var test = [];
  11. /* 1. var test = ["吴京","章子怡","徐峥"] */
  12. for(var i=0;i<directs.length;i++){
  13. test.push(directs[i].name);
  14. }
  15. console.log(test);
  16. /* 2.str = 吴京/章子怡/徐峥 */
  17. console.log(test.join("/"));
  18. /* 3. */
  19. var app = document.getElementById("app");
  20. app.innerHTML = test.join("/");
  21. </script>
  22. </body>

image.png

2-1.sort排序方法

升序:
arr.sort(function(a,b){
return a-b;
})
降序:
arr.sort(function(a,b){
return b-a;
})

  1. <script>
  2. var arr = [12,3,5,11,1];
  3. console.log(arr.sort())
  4. /* 得到从小到大的数据结构 */
  5. /* 升序
  6. arr.sort(function(a,b){
  7. return a-b;
  8. })
  9. 降序
  10. arr.sort(function(a,b){
  11. return b-a;
  12. })
  13. */
  14. var newArr = arr.sort(function(a,b){
  15. return a-b;
  16. })
  17. console.log(newArr);
  18. var test = [12,14,45,2,5];
  19. var newTest = test.sort(function(a,b){
  20. return b-a;
  21. })
  22. console.log(newTest);
  23. </script>

image.png
根据价格进行升序 —从小到大

  1. var arr = [
  2. {name:"肯德基",price:100,distance:100},
  3. {name:"必胜客",price:200,distance:500},
  4. {name:"华莱士",price:50,distance:1000},
  5. ];
  6. /* 根据价格进行升序 --从小到大 */
  7. arr.sort(function(a,b){
  8. return a.price-b.price;
  9. })
  10. console.log(arr);

image.png
根据距离进行降序 —从大到小

  1. /* 根据距离进行降序 --从大到小 */
  2. arr.sort(function(a,b){
  3. return b.distance-a.distance;
  4. })
  5. console.log(arr)

image.png

1-3.简单求和reduce方法

只能对简单的值数组求和,如[5,85,68]等
arr.reduce((a,b)=>a+b)

  1. <script>
  2. var arr = [1,2,3];
  3. /*
  4. arr.reduce((a,b)=>a+b)
  5. */
  6. var sum = arr.reduce((a,b)=>{
  7. return a+b;
  8. })
  9. console.log(sum)
  10. </script>

image.png

1-4.reverse颠倒方法

能够改变数组结构
.reverse() 颠倒数组

  1. <script>
  2. var arr = ["html","css","js"];
  3. arr.reverse();
  4. console.log(arr);
  5. </script>

image.png

1-5.遍历方法

for in 遍历下标

  1. <script>
  2. /* for in 遍历下标 */
  3. var arr = ["html","css","js"];
  4. for(var key in arr){
  5. console.log(key); //key在数组中获取的是数组的下标
  6. console.log(arr[key]);
  7. }
  8. </script>

image.png

  1. <script>
  2. var obj = {
  3. name:"list",
  4. age:18
  5. }
  6. for(var k in obj){
  7. console.log(obj[k]) //在对象中指的是对象的属性
  8. }
  9. </script>

image.png

for of 遍历值

  1. <script>
  2. var arr = [3,4,5];
  3. /* for of 遍历值 */
  4. for(var value of arr){
  5. console.log(value) //value获取的是数组的值
  6. console.log(arr.indexOf(value)) //获取数组下标
  7. }
  8. </script>

image.png

forEach()

  1. <script>
  2. var arr = ["html","css","js"];
  3. arr.forEach(function(item){
  4. console.log(item)
  5. })
  6. </script>

image.png

  1. <script>
  2. var arr = [2,3,4];
  3. var newArr = []
  4. arr.forEach(function(item){
  5. newArr.push(item*2)
  6. })
  7. console.log(newArr)
  8. </script>

image.png
遍历数组添加对象属性

  1. <script>
  2. var names = [
  3. {name:"李四"},
  4. {name:"王五"}
  5. ]
  6. names.forEach(function(item){
  7. item.like = true;
  8. })
  9. console.log(names);
  10. </script>

image.png

map() —改变数组中的每一项

  1. <script>
  2. var arr = [2,3,4];
  3. var test = arr.map(item=>{
  4. return item*2;
  5. })
  6. console.log(test);
  7. </script>

image.png
提取number进行翻倍

  1. <script>
  2. var arr = [
  3. {name:"html",value:"12px"},
  4. {name:"css",value:"13px"},
  5. {name:"js",value:"14px"},
  6. ]
  7. var test = [];
  8. arr.map(item=>{
  9. item.value = parseInt(item.value)*2;
  10. console.log(item)
  11. })
  12. </script>

image.png

  1. <script>
  2. var arr = [
  3. {name:"html",value:"12px"},
  4. {name:"css",value:"13px"},
  5. {name:"js",value:"14px"},
  6. ]
  7. var nums = arr.map(item=>{
  8. return parseInt(item.value);
  9. })
  10. console.log(nums);
  11. var newNums = []
  12. nums.forEach(function(item){
  13. newNums.push(item*2)
  14. })
  15. console.log(newNums);
  16. console.log(newNums.join("-"))
  17. </script>

image.png

some()

返回值Boolean
只要数组中有一项满足某个条件,结果返回true

  1. <script>
  2. /* 返回值Boolean */
  3. var arr = [3,4,5,6];
  4. /* 只要数组中有一项满足某个条件,结果返回true */
  5. var res = arr.some(item=>{
  6. return item>5;
  7. })
  8. console.log(res);
  9. </script>

image.png

every()

every:
数组中的每一项都必须满足某个条件 —返回Boolean

  1. <script>
  2. /*
  3. every:
  4. 数组中的每一项都必须满足某个条件 --返回Boolean
  5. */
  6. var arr = [2,3,4];
  7. var res = arr.every(item=>{
  8. return item>2;
  9. })
  10. console.log(res)
  11. </script>

image.png

filter() —过滤

只要是达到某个条件,就会返回一个新的数组

  1. <script>
  2. /* 只要是达到某个条件,就会返回一个新的数组 */
  3. var arr = [3,4,5,6];
  4. var res = arr.filter(item=>{
  5. return item>4;
  6. })
  7. console.log(res)
  8. </script>

image.png
返回年龄大于11岁的对象数组

  1. <script>
  2. var students = [
  3. {name:"李四",age:"18岁"},
  4. {name:"李二",age:"11岁"},
  5. {name:"李五",age:"19岁"},
  6. {name:"王四",age:"22.5岁"},
  7. ]
  8. var res = students.filter(item=>{
  9. return parseFloat(item.age)>11;
  10. })
  11. console.log(res)
  12. </script>

image.png
根据搜索框内容返回名字中含有相同值的对象数组

  1. <input type="text" id="app">
  2. <script>
  3. var students = [
  4. {name:"李四",age:"18岁"},
  5. {name:"李二",age:"11岁"},
  6. {name:"李五",age:"19岁"},
  7. {name:"王四",age:"22.5岁"},
  8. ]
  9. var input = document.getElementById("app");
  10. input.onkeydown = function(event){
  11. if(event.keyCode == 13){
  12. console.log(this.value)
  13. var res = students.filter(item=>{
  14. return item.name.includes(this.value);
  15. })
  16. console.log(res)
  17. }
  18. }
  19. </script>

image.png

find()

find
返回数组中满足条件的某个值 —只返回一个值

  1. <script>
  2. /* find
  3. 返回数组中满足条件的某个值 --只返回一个值
  4. */
  5. var arr = [2,3,3,4];
  6. var res = arr.find(item=>{
  7. return item == 3;
  8. })
  9. console.log(res);
  10. </script>

image.png

findIndex()

findIndex
返回数组中满足条件的某个值的下标

  1. <script>
  2. /* findIndex
  3. 返回数组中满足条件的某个值的下标
  4. */
  5. var arr = [2,3,3,4];
  6. var res = arr.findIndex(item=>{
  7. return item == 3;
  8. })
  9. console.log(res);
  10. </script>

image.png
根据输入框内容的数字删除对应id的对象数组

  1. <input type="text" id="app">
  2. <script>
  3. var arr = [
  4. {name:"李四",id:1001},
  5. {name:"王四",id:1002},
  6. {name:"张四",id:1003},
  7. {name:"赵四",id:1004},
  8. ]
  9. var input = document.getElementById("app");
  10. input.onkeydown = function(event){
  11. if(event.keyCode == 13){
  12. console.log(this.value);
  13. var num = arr.findIndex(item=>{
  14. return item.id == this.value;
  15. })
  16. arr.splice(num,1);
  17. console.log(arr);
  18. }
  19. }
  20. </script>

image.png