Javascript (数组)

1、数组:一组数据的集合,创建方式 var str = newArray()、var str2 =[]。
2、求数组长度:str.length

var arr1 = [1, 2, 3, 4, 5, 6, 7];
console.log(arr1.length);

3、遍历数组:forEach

var arr = [1, 2, 3, 4];
for (var i = 0; i < arr.length; i++) {
console.log(arr[i]);
}

4、计算数组的和及平均值

var arr = [2, 6, 1, 7, 4];
        var sum = 0;
        var average = 0;
        for (var i = 0; i < arr.length; i++) {
            sum += arr[i];
        }
        average = sum / arr.length;
        console.log(sum, average);

5、 求数组中最大值

var arr = [2, 6, 1, 7, 4];
       var max = arr[0];
       for (var i = 1; i < arr.length; i++) {
           if (arr[i] > max) {
               max = arr[i];
           }

       }
       console.log('该数组中最大的值是:' + max);

数组中的最小值

var arr = [2, 6, 1, 7, 4];
        var min = arr[0];
        for (var i = 1; i < arr.length; i++) {
            if (arr[i] < min) {
                min = arr[i];
            }

        }
        console.log('该数组中最小的值是:' + min);

6、switch语句:多分支语句,也可以实现多选一
语法结构 switch 转换、 开关、case小例子或者选项的意思

7、查询水果价格

var fruit = prompt('亲输入查询的水果:');
        switch (fruit) {
            case '苹果':
                alert('苹果价格是3/斤');
                break;
            case '榴莲':
                alert('榴莲价格是18/斤');
                break;
            case '葡萄':
                alert('葡萄价格是12/斤');
                break;
            default:
                alert('没有这类水果')
        }

8、循环 for || while || do while

A、for 在程序中,一组被重复执行的语句被称之为 循环体 ,能否继续执行,取决于循环的 终止条件,由循环体及循环的终止条件组成的语句,被称为 循环语句
B、for (初始化变量; 条件表达式 ; 操作表达式){
循环体
}
9、break关键字 退出整个循环

10、输出数组中重复的元素

var a = [5, 4, 3, 2, 1, 2, 3, 2, 1,];
        Array.prototype.duplicate = function () {
            var tmp = [];
            this.concat().sort().sort(function (a, b) {
                if (a == b && tmp.indexOf(a) === -1) tmp.push(a);
            });
            return tmp;
        }
        console.log(a.duplicate());

11、数组去重

//数组去重
        function unique(arr) {
            var newArr = [];
            for (var i = 0; i < arr.length; i++) {
                if (newArr.indexOf(arr[i]) === -1) {
                    newArr.push(arr[i]);
                }
            }
            return newArr;
        }
        var demo = unique(['blue', 'green', 'blue']);
        console.log(demo);

12、翻转数组

//翻转数组
        var arr = [1, 2, 3, 4];
        var newArr = [];
        for (var i = arr.length - 1; i >= 0; i--) {
            newArr[newArr.length] = arr[i];
        }
        console.log(newArr);

13、删除数组指定元素(把0删掉)

//删除数组指定元素(把0删掉)
        var arr = [2, 0, 3, 4, 5, 6, 7, 12, 0, 113, 14, 24];
        var newArr = [];
        for (var i = 0; i < arr.length; i++) {
            if (arr[i] != 0) {
                newArr[newArr.length] = arr[i];
            }
        }
        console.log(newArr);

14、检测是否为数组:instanceof Array.isArray(参数); 后新增的

//检测是否为数组:instanceof  Array.isArray(参数); 后新增的
        var arr = [];
        var obj = {};
        console.log(arr instanceof Array);
        console.log(obj instanceof Array);
        console.log(Array.isArray(obj));
        console.log(Array.isArray(arr));

15、break , continue, return的区别

break:结束当前循环体
continue:跳出本次循环,继续执行下次循环
return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码

16、arguments的使用
当我们不知道有多少个参数传递时,可以用arguments来获取
arguments实际上它是当前函数的一个内置对象。
所有函数都内置了一个arguments对象
arguments对象中存储了传递的实参

17、函数的相互调用


image.png

18、concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。

const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);

console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]

语法:

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])


19、copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度

const array1 = ['a', 'b', 'c', 'd', 'e'];

// copy to index 0 the element at index 3
console.log(array1.copyWithin(0, 3, 4));
// expected output: Array ["d", "b", "c", "d", "e"]

// copy to index 1 all elements from index 3 to the end
console.log(array1.copyWithin(1, 3));
// expected output: Array ["d", "d", "e", "d", "e"]

语法:

arr.copyWithin(target[, start[, end]])>

20、forEach() 方法对数组的每个元素执行一次给定的函数。

const array1 = ['a', 'b', 'c'];

array1.forEach(element => console.log(element));

// expected output: "a"
// expected output: "b"
// expected output: "c"

21、Array.from() 方法从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例

console.log(Array.from('foo'));
// expected output: Array ["f", "o", "o"]

console.log(Array.from([1, 2, 3], x => x + x));
// expected output: Array [2, 4, 6]

22、删除数组末尾的元素

var fruits = ['Apple', 'Banana'];
        console.log(fruits.length);
        var first = fruits[0];
        console.log(first);
        // Apple
        var last = fruits[fruits.length - 1];
        // Banana

//遍历数组
        fruits.forEach(function (item, index, array) {
            console.log(item, index);
        })
//删除数组末尾的元素
        var last = fruits.pop();
        console.log(fruits);

        var myHonda = { color: 'red', wheels: 4, engine: { cylinders: 4, size: 2.2 } };
        var myCar = [myHonda, 2, "cherry condition", "purchased 1997"];
        var newCar = myCar.slice(0, 2);
//添加元素到数组的末尾
        var newLength = fruits.push('Orange');
        console.log(newLength);
        console.log(fruits);
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359

推荐阅读更多精彩内容

  • 此笔记是我在拉勾学习课程过程中的总结,文字原创,笔记里很多技巧和知识是老师总结的,如果有侵权,请联系本人! 一、数...
    你好肥猫阅读 213评论 0 1
  • JavaScript数组一篇中介绍了ES6之前的数组方法。本篇介绍一下ES6里新增的数组方法。 find,find...
    张歆琳阅读 5,712评论 3 13
  • 数组的定义 数组是按序号排列的一组值,每个值的位置都有编号(从0开始)。数组本质上是一种特殊的对象。它的键名是按(...
    Allin_Lin阅读 558评论 0 0
  • 循环语句 (1)while(条件){} 例: while(条件){ //满足条件时执行的语句 先判断...
    我真的是易晓辉阅读 194评论 0 1
  • 今天感恩节哎,感谢一直在我身边的亲朋好友。感恩相遇!感恩不离不弃。 中午开了第一次的党会,身份的转变要...
    迷月闪星情阅读 10,572评论 0 11