js入门之数组
数组是一种数据类型,数组可以存储很多项, 有序,集合 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入门之数组的更多相关文章
- React.js入门笔记
# React.js入门笔记 核心提示 这是本人学习react.js的第一篇入门笔记,估计也会是该系列涵盖内容最多的笔记,主要内容来自英文官方文档的快速上手部分和阮一峰博客教程.当然,还有我自己尝试的 ...
- JS入门之ActiveXObject对象(转载)
JS入门之ActiveXObject对象 此对象提供自动化对象的接口. function ActiveXObject(ProgID : String [, location : String] ...
- Angular.js 入门(一)
最近在学习angular.js,为此方便加深对angular.js前端框架的理解,因此写下这篇angular.js入门 首先介绍下什么是angular.js? AngularJS 是一个 JavaSc ...
- d3.js 入门指南 - 仪表盘
D3的全称是Data-Driven Documents(数据驱动的文档),是一个用来做数据可视化的JavaScript函数库,而JavaScript文件的后缀通常为.js,所以D3被称为D3.js. ...
- 极简 Node.js 入门 - 2.2 事件
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 2.3 process
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 3.4 文件夹写入
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 极简 Node.js 入门 - 3.5 文件夹操作
极简 Node.js 入门系列教程:https://www.yuque.com/sunluyong/node 本文更佳阅读体验:https://www.yuque.com/sunluyong/node ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
随机推荐
- 阿里云RDS与ECS服务器数据库做主从
阿里云RDS与ECS服务器数据库做主从 [精] 里云RDS(数据库)基于飞天大规模分布式计算和存储能力,提供超高性价比的单机版实例,同时利用读写分离横向扩展读能力,满足网站类的业务需求.提供稳定.高性 ...
- java 虚拟机类加载 及内存结构
http://www.jb51.net/article/105920.htm https://www.cnblogs.com/Qian123/p/5707562.html Java类加载全过程 一个j ...
- jvm 指令重排
引言:在Java中看似顺序的代码在JVM中,可能会出现编译器或者CPU对这些操作指令进行了重新排序:在特定情况下,指令重排将会给我们的程序带来不确定的结果..... 1. 什么是指令重排? 在计算机 ...
- esxi 配置 交换主机 虚拟机交换机 linux centos 配置双网卡
最近手里的项目网络环境是 192.168.199.1 直接到防火墙 192.168.1.x 是内网网段 走到 防火墙下的一个三层交换机 现在需要将内网的三台服务器端口映射出去,需要到防火墙去做映射,防 ...
- 【Leetcode_easy】643. Maximum Average Subarray I
problem 643. Maximum Average Subarray I 题意:一定长度的子数组的最大平均值. solution1:计算子数组之后的常用方法是建立累加数组,然后再计算任意一定长度 ...
- iOS推送证书上传(转)
iOS 推送证书制作(JAVA/PHP) 在使用Java或者PHP制作iOS推送服务器的时候,需要自己从开发者网站上导出的aps_developer_identity证书和Apple Developm ...
- 持续集成 Jenkins +Gitlab + SSH 自动发布 HTML 代码
目录 一.整体流程 二.Jenkins 配置 2.1.首先安装插件 2.2.配置目标服务器 2.3.创建 job 2.4.配置 gitlab 触发 三.改进 一.整体流程 二.Jenkins 配置 2 ...
- 【c# 学习笔记】使用新成员隐藏基类成员
如果想在派生类中定义与基类成员同名的成员,则可以使用new关键字把基类成员隐藏起来. 如果不适应new关键字,在派生类中定义一个与基类成员同名的成员,编译器将产生警告信息,如下代码演示: public ...
- idea查看接口或类的所有方法
第一种: 显示结果: 第二种: 点击左显示栏的Structure: 第三种:ctrl+f12,有的电脑可能需要加fn键
- Qt 和 Boost关于信号和槽的对比说明
对比 无论是 Qt 的实现方式还是 Boost 的实现方式,除了必须的定义信号和槽的类之外,都不需要额外的类. 两种实现都解决了类爆炸的问题.下面让我们对照着来看一下我们前面的分析. 两个不同的术语以 ...