美文网首页
js06 随堂笔记 2/13

js06 随堂笔记 2/13

作者: 瞎跑的怪兽 | 来源:发表于2017-02-14 10:21 被阅读0次

颠倒 数组中的元素顺序 改变原数组的值

 var a = [1,2,3,4,5,6,7,8,9,0];
console.log(a.reverse())
console.log(a)*/
eval();// eval()函数  可以接收一个字符串做参数
function foo(str,a){
    eval(str)
    //var b=3
    console.log(a,b)
}
var b=2;
foo("var b=3",1)// ?  */1,3
function foo(a,b){
   console.log(a,b)
 }
foo(8,9)//?*/

forEach() 方法 迭代器函数

var a = [1,2,3,4,5,6,7,8,9,0];
a.forEach(function(x){
    console.log(x%2 ==0)
})
var x = [2,3,4,5,6,7,8,9,0];
var OU = function(x){
    return (x%2 == 0)?true:false
}
var  data = x.every(OU);// false;//
/*如果数组中检测到有一个元素不满足,
则整个表达式返回 false ,且剩余的元素不会再进行检测。
如果所有元素都满足条件,则返回 true*/
console.log(data)

二维数组

创建一个二维数组
var arr = [[1,2],[2,3], [3,4]]
            //0    1       2  父数组中的下标
var arr = [
    [1,2],//0
   //0 1  子数组中的下标
    [2,3],//1
    [3,4] //2
]*/
/*
var  arr = [];
arr[0] = [1,2];
arr[1] = [2,3];
console.log(arr[0])
*/

栈和队列

// 栈 先进入的元素后出  结尾入栈 先出栈 特
 点:只能从一端插入/另一端封闭
// 元素下标是固定的
// 入栈   arr.push(值) //入栈 每次压入一个新值
// 出栈  arr.pop() 末尾弹出
/*
var bus = [];
for(var i=1;i<=5;i++){
   bus.push("乘客"+i)
}
console.log(bus)//["乘客1", "乘客2", "乘客3", 
"乘客4", "乘客5"]
while(bus.length > 0){
var cus = bus.pop();
console.log("末尾弹出" + cus)
}
console.log(bus)*/

JS 开头入栈出栈的方法 所有下标都会随着入栈出栈的操作发生变化

//unshift  入栈  (开头入栈)
/* var  queue=[];
for(var i=1;i<=5;i++){
  queue.unshift("第"+i+"个吃包子")
}
console.log(queue)
var bao = 5;
while(bao>0){
//  var  cas = queue.shift();// 开头出栈
  var  cas = queue.pop();//末尾出栈
  console.log(cas+"吃完")//
   bao--;
}*/
/* var bing = 5;
 var queue = [];

for(var i=1;i<=5;i++){
  queue.push("顾客"+i);
}
console.log(queue)
queue.push("大白牙");//[1,2,3,4,5,"大白牙"]

while(bing>0){
//   开头出栈
  var cus = queue.shift();
  console.log("恭喜"+cus+"抢购成功");
  bing--;
}
console.log(queue+"没抢上")*/



// 去掉数组中重复的元素次数
 /*   var  arr = [2,3,4,3,6,4,5,6];
  var hash = [];
  for(var i=0;i<arr.length;i++){
      //hash ---- undefined
//如果hash 数组中 不包含 当前元素 arr[i]  key +1
      //arr[i]=3
 if(hash[arr[i]] === undefined){
//key+1/
   hash[arr[i]] =1;
 }else{
   hash[arr[i]]++;
 }
}
 console.log(hash)//[2: 1, 3: 2, 4: 2, 5: 1, 6: 2]
 var str = [ ];
for(var  key in hash){
//依次将hash 中的每一个 (value值) key值为1 追加到 hash中
      str[str.length] = (key-=0)
}


console.log(str)
var  arr = [2,3,4,6,4,5,6];
var arr2=[];
var arr3=[];
   for(var i=0;i<arr.length;i++){
//i遍历当前元素
       var x=1;//记次数
       for(var j=i+1;j<arr.length;j++){
//j 遍历当前元素后面的所有元素
           if(arr[i]==arr[j]){
             arr.splice(j,1);
             x++;
             j--;
         }
     }
     arr2[i]=arr[i]+":"+x;
     arr3[i]=arr[i];
 }
console.log(arr2)
console.log(arr3)*/
//数组 sort()  排序 默认升序 直接改变原数组的值
 var arr= [6,4,1,0,9,2];
  console.log(arr.sort());
  console.log(arr)
 var arr1= [161,24,41,0,9,2];
//console.log(arr1.sort())
// 自定义比较器函数  *默认写*
//  1) function compare(a,b){return a-b}

/*function compareASC(a,b){return a-b}// 升序
function compareDESC(a,b){return b-a}// 降序
var s = arr1.sort(compareDESC)
console.log(s)

arr1.sort(function(a,b){return a-b>0})
console.log(arr1)*/
//  1) function compare(a,b){return a-b}
//2)声明提前
//var compare = new Function
   ("a","b","return a-b");

// 在html中创建2个按钮一个是升序 一个是降序
//在js中创建一个数组  当点击升序的时候控
 制输出升序排序   当点击降序的时候控制输出降序排序
// 5
// 随机数
// 公式  Math.random()
//任意范围内取随机数
//0~10 之间
//Math.random()*(max-min+1)+min
var  sum = parseInt(Math.random()*(10-0+1)+0)
console.log(sum)

相关文章

网友评论

      本文标题:js06 随堂笔记 2/13

      本文链接:https://www.haomeiwen.com/subject/jvyzittx.html