首页 > 编程语言 >【JavaScript03】Array数组对象基本操作

【JavaScript03】Array数组对象基本操作

时间:2023-08-06 12:45:56浏览次数:42  
标签:下标 arr console log JavaScript03 数组 var 基本操作 Array

  • 首先定义一个数组,可以用[];也可以使用new Array() 来创建一个数组对象
  • 数组通过下标取值
      1. 数组通过下标取值,从0开始
      1. 在python中可以通过下标-1反着取倒数第一个值,JavaScript中没这种取值方法.当数组的下标不在它取值范围内,如x有4个成员,那么取值是0-3,非0-3的数字下标取值,得到结果是undefined
var x = ['hello', 'world', true, 12]
// 下标取值, 从0开始
a = x[0]
b = x[1]
console.log(a)  // hello
console.log(b)  // world

c = x[-1]
d = x[6]
console.log(c)  // undefined
console.log(d)  // undefined
  • 给数组元素重新赋值
    • 数组中的成员可以是任意数据类型,数组中的成员是可变的,可以重新赋值
    • 当下标不在x的成员取值0-3的数字
      • 比如我给下标4赋值,那么此时会在数组后面追加一个元素
      • 如果下标跳过4,直接给个6呢?那么此时下标4和5的值会被赋值empty,数组的长度会变成7
    • 如果下标不是一个数字,是一个字符串,那么此时并不会报错,它会称为数组的一个属性,因为数组是一个对象,可以有属性(很少用)
var x = ['hello', 'world', true, 12]
// 下标取值, 从0开始
x[4] = 'aa'
console.log(x) //  ['hello', 'world', true, 12, 'aa']

// 如果下标跳过4,直接给个6呢?
var x = ['hello', 'world', true, 12]
x[6] = '66'
console.log(x) //  ['hello', 'world', true, 12, 空属性 × 2, '66']

// 添加属性,不改变数组长度
var x = ['hello', 'world', true, 12]
x['user'] = 'yoyo'
console.log(x)  // ['hello', 'world', true, 12, user: 'yoyo']
console.log(x.length)     // 4
  • 数组增删成员
// 1. push必须记住, 在右侧添加数据 -> python -> append()
arr.push("周润发");
arr.push("周星驰");
console.log(arr);

// 2. unshift(). 在左侧添加数据.
arr.unshift("马化腾");
arr.unshift("不疼痛");
arr.unshift("很疼");
console.log(arr);

// 删除数据
var arr = [11, 22, 33];
// 1. pop() 必须记住. 刪除的是最右侧的数据
var ret = arr.pop();
console.log(arr);
console.log(ret);

// 2. shift() 从左侧删除数据
var ret = arr.shift();
console.log(arr);
console.log(ret);
  • join 数组拼接成字符串
var x = ['hello', 'world', 'aa'];
console.log(x.join('_'))  // hello_world_aa
  • 数组循环遍历
var arr = [11, 22, 33, 44, 55, 66];

//方法1:最笨的
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
console.log(arr[4]);

//方法2:通过索引
for (var i = 0 ; i < arr.length; i++){
      console.log(arr[i]);
     }

//方法3:用for-of  ->  python -> for item in lst:
for(var m of arr){
       console.log(m);
    }

//方法4:for-in  -> python -> for i in range(len(lst)):
for(var i in arr){
        console.log(arr[i]);
    }

//方法5:map: 分发. 自动回收返回值
var ret = arr.map(function(item){
        return item + 10;
    });
console.log(ret);  //(6) [21, 32, 43, 54, 65, 76]


//方法6:orEach: 也类似map的操作, 不回收返回值.
var ret = arr.forEach(function(item){
        return item + 10;
    });
console.log(ret);   //undefined

  • 数组常见方法


标签:下标,arr,console,log,JavaScript03,数组,var,基本操作,Array
From: https://www.cnblogs.com/xwltest/p/17609286.html

相关文章

  • CF1588 FJumping Through the Array
    CF1588FJumpingThroughtheArray题意你有个长度为\(n\)的数组\(a\)和一个长度为\(n\)的排列\(p\),对于每一个\(i\)有一有向边\((i,p_i)\)。有如下三种操作:1lr询问\(\sum_{i=l}^ra_i\)。2vx将所有\(v\)能到达的节点所对应编号的值加\(x\)。3x......
  • js Array方法
    JAVASCRIPT对象Array对象数组属性属性描述constructor返回创建数组对象的原型函数。length设置或返回数组元素的个数。prototype允许你向数组对象添加属性或方法。Array对象方法属性描述concat()连接两个或更多的数组,并返回结果。copyW......
  • 关于 array 和 &array (数组名与数组地址)
     对于数组a:在绝大多数情况下,a等价于&a[0],即数组名等于数组首元素地址(等同于数组首地址)只有两种情况例外:1. 对数组名取地址(&a),此时虽然数值上等于a,但表示含义不同,a表示首元素地址,&a表示整个数组的首地址,    因此a+1≠&a+1,具体见前篇;2. 使用sizeof时,sizeof......
  • 无涯教程-Perl - Arrays(数组)
    数组是一个变量,用于存储标量值的有序列表。数组变量前面有一个“@”符号。要引用数组的单个元素,将使用带符号名称的美元符号($),后跟方括号中的元素索引,这是使用数组变量的简单示例-#!/usr/bin/perl@ages=(25,30,40);@names=("JohnPaul","Lisa","Kumar");......
  • (收藏)[Unix] vi基本操作方法
    一vi的操作模式vi提供两种操作模式:输入模式(insertmode)和指令模式(commandmode)。在输入模式下,用户可输入文本资料。在指令模式下,可进行删除、修改等各种编辑动作。在输入模式下,按Esc键切换到指令模式下。在指令模式下,按输入指令(i、a、o等)进入输入模式。二进入vi$ vi  fi......
  • 实验六 字符串的基本操作
    实验六字符串的基本操作一、实验目的1、培养分析问题并对进行建模的能力。2、熟练运用字符串基本功能解决实际问题。二、实验内容1、获取字符串中汉字的个数,如:“我的English学的不好”汉子个数是6个。2、去掉字符串数组中每个字符串的空格,如:“todayisagoodday”结果......
  • Uncaught TypeError: count(): Argument #1 ($value) must be of type Countable|arra
    今天在安装attachments插件时后台提示UncaughtTypeError:count():Argument#1($value)mustbeoftypeCountable|arrayin64,这个是用php8开发经常会碰到的一个错误,如何解决呢?随ytkah一起来看看这个错误是在将count()函数用于不可计数的变量或非数组时发生的。要解决这个......
  • Educational Codeforces Round 152 (Rated for Div. 2) D. Array Painting
    初始所有点都是蓝色的,给定一个数组,每个元素为0,1,2等值,两种操作,选定一个点花1元变红,或者选定一个为1或者2的红色点,减去一个价值,让周围的点变红,最后所有点都要变红思路:贪心,对于一个数组来说我们找寻连续的不等于0的一段,判断每一段最多所能变红的存在两种情况010,这种情况花1可以最......
  • 医疗知识图谱问答 ——Neo4j 基本操作
    前言说到问答机器人,就不得不说一下ChatGPT啦。一个预训练的大预言模型,只要是人类范畴内的知识,似乎他回答得都井井有条,从写文章到写代码,再到解决零散琐碎的问题,不光震撼到我们普通人,就百度和阿里也因此紧追其后分别推出了文心一言和通义千问。所以好像我们也可以通过GPT,并训练特......
  • ArrayList源码
    add方法publicArrayList(){this.elementData=DEFAULTCAPACITY_EMPTY_ELEMENTDATA;}//添加元素publicbooleanadd(Ee){ensureCapacityInternal(size+1);//确保数组容量足够添加elementData[size++]=e;returntrue;}调用add方法往Array......