09_JavaScript数据操作方法_数组2

目录

01-求每五个数的平均值

02-把数增加为原来的30%

03-判断是否存在

04-数组方法

05-数组去重

06-插入数组并排序

07-输出对象_学生信息对象

08-数据类型存储_堆栈内存

一、数据类型之间存储的区别(重点)


 

01-求每五个数的平均值

定义一个含有30个整形元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每五个求出一个平均值,放在另一个数组中并输出 编程实现

var arr = [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40...];
不要写死一个数组 定义一个空数组  循环 往空数组里push  每五个求出一个平均值
[6, 16,26, 36,46,56]
 //01-求每五个数的平均值<script>// 1、定义一个含有30个整形元素的数组,按顺序分别赋予从2开始的偶数,// 然后按顺序每五个求出一个平均值,// 放在另一个数组中并输出  编程实现// var arr = [2,4,6,8,10,12,14,16,18,20,22,24,26,28,30,32,34,36,38,40...60];// 1-通过循环创建出30个元素的偶数数组var arr = [];var newArr = [];for(var i=1;i<=60;i++){if(i%2===0){arr.push(i)}}var sum = 0;// 2-按顺序每五个求出一个平均值   如何划分5个数一组  %5===0for(var i=0;i<arr.length;i++){// i = 0 1 2 3 4 5....29// 平均值 5个数的和相加  /5var item = arr[i]; //item 指的是 数组里的每一个元素sum = sum+item; if((i+1)%5===0){var a = sum / 5;newArr.push(a)//每次算完平均数后 把sum归零  保证下一组平均数的和是从0开始累加sum = 0}}console.log(newArr);//[6, 22, 48, 84, 130, 186]</script>

02-把数增加为原来的30%

编写一个函数,把数组中的每一个数都增加30%,返回一个新数组。

//02-把数增加为原来的30%var arr = [10,100,200];
function fn(){//XXXXX
}
    <!-- 编写一个函数,把数组中的每一个数都增加30%,返回一个新数组 --><script>var arr = [10,100,200,300];var newArr = [];function map(){//idx 自定义的值 就是索引 index 可以for(idx in arr){var res = arr[idx] * (1+0.3);newArr.push(res);}return newArr;}let result = map(arr);console.log(result);</script>

03-判断是否存在

编写一个函数 ,判断数组中是否存在55这个元素,返回布尔值 。

var arr = [1,2,3,4,55];
var arr1 = [1,2,3,4,6,7,8];
function fn(){XXXXXX
}
fn(arr,55); //true
fn(arr1,55);//false
    <script>var arr = [1, 2, 3, 4, 5, 55];var arr1 = [1, 2, 3, 4, 5, 66, 88];// function has(ary, num) {//     for (var i = 0; i < ary.length; i++) {//         var item = ary[i]; //数组的每一项//         if (item == num) {//             return true//         }//     }//     //如果这个循环走完了,还没返回true  说明了这个数不存在数组中//     return false// }// let res = has(arr, 55); //true// let res1 = has(arr1, 55);//false// console.log(res, res1);function has(ary,num){//-1 代表不存在if( ary.includes(num)==true){return true}else{return false}              }var res = has(arr, 55); //truevar res1 = has(arr1, 55);//falseconsole.log(res, res1);</script>

04-数组方法

编写一个函数,norepeat(arr) 将数组中的重复元素去掉,并返回新数组

        var arr = [1,2,3,44,55,66,77,2,2,2];// 判断55在不在数组中// var res = arr.indexOf(2);// var res1 = arr.indexOf(99);// console.log(res);//1// console.log(res1);//-1  代表不存在    其他就存在// let res = arr.lastIndexOf(2);// console.log(res);var res = arr.includes(9);var res1 = arr.includes(2);console.log(res1);</script>

05-数组去重

有一个从小到大排好序的数组,现在输入一个数,输入之后按照原来从小到大的排序插入到数组中

    <script>// 编写一个函数,norepeat(arr) 将数组中的重复元素去掉,并返回新数组var arr = [1,22,22,22,44,3,7,88,88];var newArr = [];function norepeat(ary){for(item of ary){//indexOf 判断一个元素在不在数组里 如果不在就返回-1if(newArr.includes(item)==false){newArr.push(item)}}return newArr;}let res = norepeat(arr);console.log(res);//[1, 22, 44, 3, 7, 88]</script>

06-插入数组并排序

创建一个对象,该对象存储一个学生的信息,信息包括学号、身份证、年龄、性别,同时包含一个自我介绍的方法,用来输出该对象的索引信息

    <script>// 有一个从小到大排好序的数组,现在输入一个数,输入之后按照原来从小到大的排序插入到数组中var arr = [1,2,3,4,5,6,33,33,55];//    arr.push(4);//   // 直接sort 只能排个位数//    arr.sort(function(a,b){//     return a-b//    })//    console.log(arr);function abc(ary,num){ary.push(num);ary.sort(function(a,b){return a-b})return ary;}var res = abc(arr,99);console.log(res);</script>

07-输出对象_学生信息对象

    <script>// 6、创建一个对象,该对象存储一个学生的信息,信息包括学号、身份证、年龄、性别,// 同时包含一个自我介绍的方法,用来输出该对象的索引信息var obj = {id:1,idCard:4114021991000000,age:18,sex:"女",desc:function(){// console.log(obj.id);// console.log(obj.idCard);// console.log(obj.age);for(key in obj){console.log(obj[key]);}}}obj.desc()</script>

08-数据类型存储_堆栈内存

    <!-- 栈内存:基本数据类型 --><script>// var num = 10;// var num2 = num;// num2 = 200// console.log(num);//10// console.log(num2);//200// var str = "10";// var boo = true;var obj = {name:"of",age:18,address:"北京海淀"}var obj1 = obj;obj1.name="哈哈哈哈"console.log(obj.name);console.log(obj1.name);</script>

一、数据类型之间存储的区别(重点)

  • 数据类型分成

    • 基本数据类型

number   string  boolean  null  undefined
  • 复杂数据类型
Object  Array  ....
可以通过new 关键字创建出来的对象  都是复杂数据类型

数据类型存储区别

  • 我们的变量在内存里,存储空间里分成两种

  • 栈内存:比较小的内存:主要存储基本数据类型

  • 堆内存:比较大的内存:主要存储复杂数据类型

        var num = 10;var num2 = num;num2 = 200console.log(num);//10console.log(num2);//200相当于把num的值复制了一份给num2
-赋值以后两个数据没有关系  互不影响

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40143.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

FPGA_YOLO(二)

上述对cnn卷积神经网络进行介绍,接下来对YOLO进行总结,并研究下怎么在FPGA怎么实现的方案。 对于一个7*7*30的输出 拥有49个cell 每一个cell都有两个bbox两个框,并且两个框所包含的信息拥有30个 4个坐标信息和一个置信度5个,剩下就是20个类别。 FPGA关于YOLO的部署 1…

Windows系统安装Node.js和npm教程【成功】

0.引言——Node.js和npm介绍 项目描述Node.js基于Chrome V8引擎的JavaScript运行环境&#xff0c;使JavaScript可用于服务器端开发。采用单线程、非阻塞I/O及事件驱动架构&#xff0c;适用于构建Web服务器、实时应用和命令行工具等npmNode.js的包管理器与大型软件注册表。拥有…

使用外部事件检测接入 CDH 大数据管理平台告警

CDH 大数据管理平台 CDH&#xff08;Cloudera Distribution Hadoop&#xff09;是一个企业级的大数据平台&#xff0c;由 Cloudera 公司提供&#xff0c;它包含了 Apache Hadoop 生态系统中的多种开源组件&#xff0c;并对其进行了优化和集成&#xff0c;以支持大规模数据存储…

Node.js的安装和环境配置

漂亮女同事想了解Node.js的安装和环境配置。首先&#xff0c;我说需要回忆一下自己安装Node.js的经历&#xff0c;确保步骤是正确的。可能用户是刚接触开发的新手&#xff0c;所以需要详细但清晰的指导。 首先&#xff0c;应该介绍Node.js是什么&#xff0c;不过用户可能已经知…

在普通用户下修改root用户密码

1 从普通用户切换到root用户 sudo -s 再输入密码。 2 输入passwd ,会提醒你输入当前用户密码&#xff0c;验证后会提醒你输入root用户密码。 3 切换到root用户&#xff0c;使用修改过的密码登陆。 4 成功进入root用户。

【#2】介绍第三方库

一、JsonCpp 库 &#x1f525; JSONCPP 是一个开源的 C 库&#xff0c;用于解析和生成 JSON&#xff08;JavaScript Object Notation&#xff09;数据。它提供了简单易用的接口&#xff0c;支持 JSON 的序列化和反序列化操作&#xff0c;适用于处理配置文件、网络通信数据等场…

Qt开发:QInputDialog的使用

文章目录 一、QInputDialog的介绍二、 QInputDialog的基本用法三、使用 QInputDialog的实例四、QInputDialog的信号与槽 一、QInputDialog的介绍 QInputDialog 是 Qt 提供的一个对话框类&#xff0c;用于获取用户输入的文本、整数或浮点数。它提供了简单易用的静态方法和可定制…

SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测

SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测 目录 SCI一区 | Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.【SCI一区级】Matlab实现DBO-TCN-LSTM-Attention多变量时间序列预测&#xff08;程…

Vulnhub-Thales通关攻略

第0步&#xff1a;网卡配置 靶机端&#xff1a;将下载好的靶机环境&#xff0c;导入 VritualBox&#xff0c;设置为 Host-Only 模式 Kali端&#xff1a;将 VMware 中桥接模式网卡设置为 VritualBox 的 Host-only 第一步&#xff1a;确定靶机IP #靶机IP 192.168.56.101#KaliIP 1…

JVM 02

今天是2025/03/23 19:07 day 10 总路线请移步主页Java大纲相关文章 今天进行JVM 3,4 个模块的归纳 首先是JVM的相关内容概括的思维导图 3. 类加载机制 加载过程 加载&#xff08;Loading&#xff09; 通过类全限定名获取类的二进制字节流&#xff08;如从JAR包、网络、动态…

Python学习笔记(7)关于列表创建,增加,删除

列表 **Python中一切都是对象 存放多个值的连续内存空间 大小可变 增加元素 a a[50]#➕运算符操作&#xff0c;产生了新对象 list.append(x) #将元素x增加至list尾部 list.extend(alist) #将列表alist增加至list尾部 list.insert(index.x) #将元素x插入list指定index位置 …

【图片识别Excel表格】批量将图片上的区域文字识别后保存为表格,基于WPF和阿里云的项目实战总结

一、项目背景 在信息处理和文档管理中,经常会遇到需要从大量图片中提取文字并进行整理的场景。例如,财务部门需要从大量报销票据中提取金额、日期等信息;法务部门需要从合同文档中提取关键条款;教育行业需要从试卷中提取学生的答题内容等。传统的手工处理方式不仅耗时长、…

【C语言】文件操作(详解)

个人主页 今天我们来讲一下有关文件的相关操作&#xff0c;希望看完这篇文章对你有所帮助&#xff0c;大力感谢你对博主的支持&#xff01; 文章目录 ⭐一、为什么使用文件&#x1f389;二、什么是文件2.1 程序文件2.2 数据文件2.3 文件名 &#x1f3a1;三、二进制文件和文本…

数据库中不存在该字段

mybatisplus 定义的类中某些字段是数据库里面没有的&#xff0c;我们可用tablefield(existfalse)来注解&#xff0c;演示如下&#xff1a;

计算机组成原理———I\O系统精讲<1>

本篇文章主要介绍输入输出系统的发展概况 一.输入输出系统的发展概况 1.早期阶段 该阶段的特点是I/O设备与主存交换信息都必须通过CPU 当时的I/O设备有如下几个特点&#xff1a; &#xff08;1&#xff09;每个I\O设备都必须配有一套独立的逻辑电路与CPU相连&#xff0c;用来…

Linux操作系统7- 线程同步与互斥7(RingQueue环形队列生产者消费者模型改进)

上篇文章&#xff1a;Linux操作系统7- 线程同步与互斥6&#xff08;POSIX信号量与环形队列生产者消费者模型&#xff09;-CSDN博客 本篇代码仓库&#xff1a;myLerningCode/l36 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 目录 一. 单生产单消费单保…

全面讲解python的uiautomation包

在常规的模拟鼠标和键盘操作&#xff0c;我们一般使用pyautogui&#xff0c;uiautomation模块不仅能直接支持这些操作&#xff0c;还能通过控件定位方式直接定位到目标控件的位置&#xff0c;而不需要自己去获取对应坐标位置。uiautomation模块不仅支持任意坐标位置截图&#x…

图解CNN、RNN、LSTM

一、CNN 二、RNN 三、LSTM 以上笔记参考自b站up主 自然卷小蛮&#xff08;自然卷小蛮的个人空间-自然卷小蛮个人主页-哔哩哔哩视频&#xff09;&#xff0c;感兴趣的可以去深入了解。

3.25学习总结 抽象类和抽象方法+接口+内部类+API

抽象类和抽象方法&#xff1a; 有抽象方法&#xff0c;那么类肯定是抽象类。父类不一定是抽象的&#xff0c;但如果父类中有抽象方法那一定是抽象类。 如果子类中都存在吃这个行为&#xff0c;但吃的具体东西不同&#xff0c;那么吃这个行为定义在父类里面就是抽象方法&#x…

Ubuntu22.04 UEFI系统配置Apache Tomcat/8.5.87为开机自动启动

前置条件&#xff0c;Java与Tomcat目录均为/usr/local路径下。 java安装目录为&#xff1a;/usr/local/java tomcat安装目录为&#xff1a;/usr/local/tomcat 1. 创建 Tomcat 专用用户和组&#xff08;可选但推荐&#xff09; # 创建 tomcat 用户组 sudo groupadd tomcat#…