数组是一种数据类型,数组可以存储很多项, 有序,集合 Array

定义: var names = ['zs','ls','ww','zl']
访问: 用索引或/下标
数组可以存储多种类型的数据 但是一般存储的都是一中类型
数组的长度:
var names = ['zs','ls','ww','zl']
console.log(names.length); 获取数组中最后一项的索引 (数组的长度-1)
console.log(names[names.length -1]); 数组的长度可以动态改变
names[0] = 'xxx'; 修改
如果索引不存在 则会直接追加 如果不连续添加 中间的值默认会是undefined 获取数组中的每一项,并打印(遍历数组 for)
var names = ['zs','ls','ww','zl']
for (var i = 0; i < names.length; i++){
console.log(names[i]);
} 或者数组从最后开始打印
var names = ['zs','ls','ww','zl']
for (var i = names.length-1; i>=0; i--) {
console.log(names[i]);
}
清空数组
scores.length = 0;

求数组的和 和平均值案例

var numbers = [100,200,300];
var sum =0;
var avg;
for (var i = 0; i < numbers.length; i++) {
sum += numbers[i]
}
avg = sum/(numbers.length)
console.log(sum)
console.log(avg)

查找一个数组中的最大值和最小值已经其索引

var numbers = [100,200,500,400];
var max = numbers[0];
var min = numbers[0];
var maxInde = 0;
var minIndex = 0;
for (var i = 1; i < numbers.length; i++) {
if (max < numbers[i]) {
max = numbers[i];
maxIndex = i;
}
if (min > numbers[i]) {
min = numbers[i]
minIndex = i;
}
}
console.log(maxIndex, max)
console.log(minIndex, min)

将字符串数组用|分割

var names = ['大华','洋洋','李易峰','胡歌','刘亦菲']
seperator = '|';
var str = names[0];
for (var i = 1; i<=names.length-1; i++) {
str += str = seperator + names[i];
}
console.log(str)

筛选出数组里面非0的字符串 然后放到一个新的数组里

var new_numbers = [];
var numbers = [5,4,6,0,11,33,5,0];
for (i = 0; i < numbers.length; i++) {
if (numbers[i] !== 0) {
new_numbers[new_numbers.length] = numbers[i];
}
}
console.log(new_numbers);

翻转数组 然后放入一个新的数组里面

var new_numbers = [];
var numbers = [1,2,3,4,5];
for (var i = numbers.length-1; i>= 0; i-- ) {
new_numbers[new_numbers.length] = numbers[i]
}
console.log(new_numbers)

冒泡排序

var numbers=[97,68,72,29,51,45];
//外层循环 控制次数 每一次找到一个最大值
for (var i = 0; i < numbers.length - 1; i++) {
//内层循环 控制比较的次数,并且判断两个数的大小,把大的外后移
for (var j = 0; j< numbers.length -1 -i; j++) {
//两两比较 从小到大
if (numbers[j] > numbers[j+1]) {
//交换位置
var tmp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = tmp;
}
}
}
console.log(numbers)

js入门之数组的更多相关文章

  1. React.js入门笔记

    # React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...

  2. JS入门之ActiveXObject对象(转载)

    JS入门之ActiveXObject对象   此对象提供自动化对象的接口.   function ActiveXObject(ProgID : String [, location : String] ...

  3. Angular.js 入门(一)

    最近在学习angular.js,为此方便加深对angular.js前端框架的理解,因此写下这篇angular.js入门 首先介绍下什么是angular.js? AngularJS 是一个 JavaSc ...

  4. d3.js 入门指南 - 仪表盘

    D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...

  5. 极简 Node.js 入门 - 2.2 事件

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  6. 极简 Node.js 入门 - 2.3 process

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  7. 极简 Node.js 入门 - 3.4 文件夹写入

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  8. 极简 Node.js 入门 - 3.5 文件夹操作

    极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...

  9. 1. web前端开发分享-css,js入门篇

    关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...

随机推荐

  1. 常规函数模块CALL in new task 报错

    使用START NEW TASK, 函数需要是远程调用模块. 错误:FUNCTION module  ' ZMMFM0021'  cannot be used for 'remote' CALLS. ...

  2. HTTP连接详解

  3. git命令手册

    以下内容是我在学习和研究Git时,对Git操作的特性.重点和注意事项的提取.精练和总结,可以做为Git操作的字典,方便大家查阅: 备注:本文会不断更新完善: 目录 一. 语法格式描述 二. git环境 ...

  4. VS在项目范围内禁止关闭特定警告

    要在项目范围内禁止警告,请在项目文件中定义要忽略的以分号分隔的警告代码列表.附加警告代码也$(NoWarn); 1.首先找到该项目的 .csproj 文件 >> 在<Property ...

  5. sbt配置文件

    # Set the java args to high -Xmx512M -XX:MaxPermSize=256m -XX:ReservedCodeCacheSize=128m # Set the e ...

  6. sudo内容

    [root@bogon ~]# cat /etc/sudoers## Sudoers allows particular users to run various commands as## the ...

  7. mysql新建数据库(database)设置为utf8

    CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  8. iOS笔试题04

    1. Object-C有多继承吗?没有的话用什么代替?
 1> OC是单继承,没有多继承 2> 有时可以用分类category和协议protocol来代替多继承 2. Object-C有私 ...

  9. 网页引用jQuery在Electron运行出现"$ is not defined"

    Electron因为开启了node集成才能实现和网页的通信,引入jQuery较高版本它的模块化定义(基于CommonJS)和Electron的内部机制冲突了.目前提供以下两个方案: 1.使用jQuer ...

  10. AI新生代“教父”崛起,或成就迈向具有类人意识机器的一大步

    <麻省理工科技评论>公布了 2018 年全球十大突破性技术,“对抗性神经网络”即“生成对抗网络”作为突破性人工智能技术赫然上榜.这家全球最顶级科技杂志编辑部对这项革命性技术给出的评价是:它 ...