访问数组中的值(Accessing Values in an Array)

JavaScript对象创建模式:从构造函数到工厂模式与原型链原理 在JavaScript编程中,对象创建是构建应用的基础。理解对象创建模式的核心原理,能帮助开发者编写更高效、可维护的代码。从最基本的构造函数模式出发,通过new操作符创建对象实例,但需警惕方法重复创建导致的内存浪费问题。原型机制则提供了共享属性和方法的解决方案,通过原型链实现继承,这是JavaScript实现代码复用的关键技术。在实际工程中,组合使用构造函数与原型模式成为经典实践,既保证了实例的独立性,又实现了方法的共享。工厂模式进一步解耦了对象的创建过程,提升了代码的灵活性和可维护性,特别适合在复杂应用架 阅读详情
 
如下翻译来自微软TechNet脚本中心:
http://www.microsoft.com/technet/scriptcenter/resources/pstips/jun07/pstip0622.mspx
译者: Edengundam(马涛)
 
访问数组中的值(Accessing Values in an Array)
无论脚本专家的生活方式多么值得憧憬(例如, 仅在过去一年脚本专家Jean Ross和Greg Stemp出现在了各个地方, 从Orlando, FL 到 … 恩,还是Orlando, FL), 本质上来说他们是追求着简约的常人. 以Windows PowerShell为例. 如果问100个人他们最喜欢Windows PowerShell的什么特性时, 你很可能会得到100种不同的答案, 这些答案中大多数是精妙的新特性, 例如: 访问.NET框架的功能. 如果询问脚本专家 (scripting guys) 他们最喜欢Windows PowerShell的什么特性, 你很可能得到相同的答案: Windows PowerShell为我们营造的访问书中值的帅气的方法.
如果你是熟悉VBScript的话, 对于数组来说你可能会感觉到有些可怕. 为什么? 恩, 有一点就是, 你不能回显任何数组的值; 这将导致“类型不匹配”的错误. 例如, 看看下面的VBScript脚本:
x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
Wscript.Echo x
这能做到吗? 你已经知道答案了, 不是嘛? 不行, 它更本不能做到. 取而代之的是, 你需要使用For Each或For Next循环结构来获取x中的值:
x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
 
For Each y in x
    Wscript.Echo y
Next
这没什么难得, 但是这要求我们完成一些工作. 除此之外, 你可能还需要预先确定x在第一次使用时是数组类型(这就需要你做更多的事情). 毕竟, 对非数组对象执行循环操作, 将会导致错误的发生:
x = 1
 
For Each y in x
    Wscript.Echo y
Next
这个例子中我们将得到的返回结果就是“Object not a collection.”
使用Windows PowerShell, 一切都会截然相反. 例如, 思考如下的Windows PowerShell脚本:
$x = 1,2,3,4,5,6,7,8,9,10
$x
运行这个脚本将会发生什么呢? 这些就是将会发生的结果:
1
2
3
4
5
6
7
8
9
10
换句话说, Windows PowerShell通过回显数组本身, 使得您能访问数组的所有值(此例中: $x). 你不需要使用For Each循环或者For Next循环; PowerShell已经为您完成了.
当然, 使用VBScript你不一定访问数组中所有的成员; 你可以通过指定下标来访问特定的数组元素. 例如, 假设你希望访问下面数组的第三个元素:
x = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
由于数组在VBScript (在PowerShell中也一样)是“基于0的”也就是说数组第一个元素的下标是0, 第二个元素下标是1, 如法炮制第三个元素的下表就是2. 我们如何只访问第三个元素? 使用类似这样的代码即可:
Wscript.Echo x(2)
正如您所料,Windows PowerShell 使您能够执行相同的操作,并使用非常类似语法; 例如, 下面代码将会回显PowerShell 数组的第三个元素:
$x[2]
这只是个最基本的应用. 要回显该数组中的最后一个元素? 这在VBScript中是可行的, 使用类似下面这样有点疯狂的结果即可:
Wscript.Echo x(Ubound(x))
在Windows PowerShell中完成同样的工作:
$x[-1]
这是什么怪物啊? 那么返回数组中倒数第二个元素? 没问题(译注: 这种语法在Perl中是允许的, 但是, 应该尽量避免使用这种语法, 使用数组的Length属性更好一些. ):
$x[-2]
以此类推.
别急, 还没完呢. 假设你希望回显索引号为1, 3, 5和7的元素值? 不管你信不信, 一样没问题; 只需要确保使用逗号分隔每个元素的索引数字:
$a[1,3,5,7]
现在上演压轴好戏. Windows PowerShell提供了“数值范围”运算符(..), 允许你指定一个数值范围, 它非常适合用于处理数组. 假设你有含有100元素的数组, 我们需要回显索引为37-79的数值. 如果我们真的想做, 我们可以列出每个索引. 或者我们适用范围运算符来代替这种不太可行的办法:
$a[37..79]
太棒了, 不是嘛? 更加令人振奋的是(译注:此处英文习语: add icing to the cake. 在某些时候可以翻译为双喜临门, 但是此文章, 我选择了保留句子关系和语气, 将句子调整通顺.), 范围运算符不仅仅限制在数组使用. 例如, 试试这个单行的脚本, 看看会发生什么:
1..100
甚至连这些追求简约的人也已经被PowerShell的优点深深的吸引了. (译注: 这篇文章中形容脚本专家的英文单词为: simple people with simple tastes, 我是根据面对100个脚本专家得到相同答案这里, 推测: 脚本专家希望以最简约的形式完成问题. 通过全文展示, PowerShell相比Vbscript来说, 数组访问上更加简单, 强大. 因此面对这些挑剔的追求简约之人来说, PowerShell能够达到他们的要求. 如果您对本篇文章有任何的翻译建议, 请您联系我, 希望共同提高翻译水平. )
 
 
SAP Fiori Launchpad 概述 SAP Fiori launchpad 是托管 SAP Fiori 应用程序的 shell,并为应用程序提供导航、个性化、嵌入式支持和应用程序配置等服务。SAP Fiori Launchpad 是移动和桌面设备上 SAP Fiori 应用程序的入口点。启动板显示带有图块的主页,其中可以显示实时状态指示器,例如打开的任务数量。每个图块代表用户可以启动的业务应用程序。这包括 SAP Business Suite 事务应用程序和 SAP Smart Business 分析应用程序。 阅读详情

相关推荐

大疆mini 3 pro rtmp推流(带屏遥控器不支持)windows

大疆mini 3 pro无人机rtmp推流(带屏遥控器不支持)至windows电脑

xbsigeibwkouvfcj的博客 3432

PowerShell数组

Powershell支持数组这种数据结构,但这种数组并不要求数据类型的一致性,更类似于其他语言中的列表。其创建过程非常简单,直接通过逗号分割元素即可,也可以通过【@()】将数组元素括起来。

微小冷的学习笔记 1102

FLUKA软件在Ubuntu的安装指南(亲测有效)

FLUKA其强大的蒙特卡洛模拟能力使得用户能够模拟复杂的辐射相互作用过程

chencheng1127的博客 2887

访问数组中的值

import numpy as np ar=np.array([[51,56,22],[52,62,5]],np.uint8) print(ar) print(ar[1,2])#访问第二行第三列的值 print(ar[1,:])#访问第二行的所有值 print(ar[:,1])#访问所有行的第二列的值 print(ar[:,:])#访问所有行所有列的所有值 ...

机器视觉初学者 497

linux离线安装nginx

linux离线安装nginx

zhang_130914036的博客 9349

A股历史数据免费下载终极指南:4000+个股数据一键打包获取

本文提供了获取A股历史数据的完整免费方案,重点介绍了Tushare Pro、AkShare等开源金融数据API的使用方法。通过详细的Python脚本示例,指导读者如何自动化批量抓取、清洗、存储4000多只个股的历史行情数据,并分享数据质量校验与性能优化技巧,助力量化研究与市场分析。

ooo22的博客 2247

powershell循环_带有示例的Powershell ForEach循环语句教程

powershell循环ForEach is a PowerShell statement used to use iterate or loop over the given list, array or collection of the objects, strings, numbers, etc. ForEach is a very popular loop mechanism where...

cunjiu9486的博客 1万+

envi5.3处理高分二号影像数据详细过程记录

全文根据此篇文章进行数据处理: tm影像辐射定标_高分二号影像数据预处理及裁剪过程 其他参考: 学习笔记---遥感影像辐射定标与大气校正 利用ENVI自带全球DEM数据计算区域平均高程 高分二号数据处理流程(有高分二号的数据信息) GF2有多光谱和全色两个数据,MSS是多光谱的,PAN是全色的,多光谱的分辨率低,全色的高,需要把这两个数据融合,融合之前需要做定标等处理,获取经纬度。 一、多光谱影像处理 1. 辐射定标 以这个为例: 其他路径\2022.4.2...

ligous的博客 5万+

获取数组中特定的值

var arr= [{"code":"1","code_type":"special","value":"培训"},{"code":"2","code_type":"special","value":"新人"}, {"code":"3&quo

cxfjava的博客 9304

别再被SpringerLink虐了!手把手教你搞定LaTeX源文件提交(附正确文件顺序和类型选择)

本文详细解析了SpringerLink投稿系统中LaTeX源文件提交的常见问题与解决方案,包括文件打包、类型选择和顺序排列等关键步骤。通过实战经验,帮助科研人员避开隐形陷阱,一次性完成LaTeX提交,提升投稿效率。特别针对`.bst`和`.cls`文件的正确处理提供了专业指导。

weixin_42522964的博客 445

裸眼3D技术发展与应用前景

这项技术利用传感器或摄像头实时监测观众的位置和视角,然后根据观众的位置信息动态调整投射的图像,确保不同位置的观众都能看到一致的3D效果。这种技术不仅可以在电影院和家庭影院中应用,还可以用于虚拟现实设备和大型展览等领域。裸眼3D呈现是一种不需要佩戴任何特殊设备(如3D眼镜或头盔)即可观看到3D效果的技术。这种技术近年来得到了快速发展,为观众带来了更加沉浸式的视觉体验。总之,裸眼3D呈现技术的发展为观众带来了更加真实、沉浸式的视觉体验。随着技术的不断进步和创新,相信未来裸眼3D将会在更多领域得到应用和推广。

学无止境 2005

GNU C语言数组与字符串:掌握数据结构的基础应用

在C语言编程中,数组和字符串是构建复杂数据结构的基础模块。本文将带你系统学习GNU C语言中数组与字符串的核心概念、使用技巧和最佳实践,帮助你轻松掌握这些基础数据结构的应用方法。 ## 什么是C语言数组? 数组是一种数据对象,用于存储一系列相同数据类型的元素,每个元素通过其数值索引进行标识。C数组的元素在内存中连续分配,元素之间没有间隙,每个元素按照其数据类型的要求进行对齐。 ### 数组的

gitblog_00813的博客 224

Android功耗系列专题理论之六:外设功耗问题分析方法

本文介绍了移动设备功耗问题的分析方法,重点针对传感器和GPU两大模块。传感器部分详细讲解了通过ADB命令获取日志、状态差异分析和单传感器隔离测试的排查方法,并给出优化建议。GPU部分从基础功耗测量、场景测试到功能模块拆解进行多维度分析。同时阐述了GNSS/GPS功耗的测试方法,包括前后台对比、星座双频拆解及SAP/DPO等特殊功能的电流分析,为移动设备功耗优化提供系统性的诊断思路。

374

CPU 缓存 | 原理、映射、一致性

……

u013669912的博客 413

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Simulink模块参数高效访问与管理:从手动调试到自动化工程实践

在基于模型的设计(MBD)和仿真工程中,参数管理是连接算法设计与系统验证的核心环节。其基本原理是通过统一的数据接口对模型中的可配置项进行读写与控制,这直接决定了仿真迭代的效率与工程的可维护性。从技术价值看,高效参数访问能实现从手动调试到自动化测试的跃迁,支撑参数扫描、回归测试和设计空间探索等高级工作流。典型的应用场景包括控制器参数整定、多工况仿真对比以及复杂系统(如四旋翼滑模控制、MPC光储制氢系统)的集成测试。本文聚焦于Simulink平台,深入解析如何通过程序化命令(如get_param/set_par

weixin_30410119的博客 332

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

CANN/hixl C++安全编码规范

> **Applicable Scope**: Secure coding red-line specifications that all C++ code must follow 100%. ## Rule List | Rule No. | Rule Name | Category | Severity | |---------|---------|------|---------|

gitblog_01065的博客 732

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

CANN/asc-devkit:SIMT Warp Divergence控制流优化示例

This sample uses sparse matrix-vector multiplication (SpMV) to demonstrate the impact of Warp Divergence on performance in Ascend C SIMT programming and the optimization approach. The sample includes

gitblog_00157的博客 487

Python变量机制与内存管理详解

在编程语言中,变量是存储数据的基本单元,其实现原理直接影响程序性能和内存使用。Python采用动态类型系统和引用计数机制,变量实质上是内存对象的引用标签。理解可变与不可变对象的内存差异、变量作用域规则以及引用计数原理,对编写高效Python代码至关重要。这些知识在数据处理、并发编程等场景中尤为重要,比如在多线程环境下需要特别注意可变对象的线程安全问题。掌握Python变量的内存管理机制,可以帮助开发者避免常见的内存泄漏问题,提升代码性能。

weixin_30387799的博客 416

昇腾CANN/GE编码红线

### 1. Prohibit Hardcoding Sensitive Information and Using Prohibited Sensitive Words 1. Hardcoding plaintext passwords, keys, and other high-level sensitive data in source code. 2. Having deprecated

gitblog_00724的博客 361

Delta lake第一稿个人翻译和注释(第四章)

亚马逊S3等云对象存储是全球规模最大、最具成本效益的存储系统之一,因此成为存储大型数据仓库和数据湖的理想之选。遗憾的是,它们作为键值存储的实现使得实现ACID事务和高性能变得困难:元数据操作(如列出对象)成本高昂**(解释:对象存储在云上面list操作费用是get操作的10倍,并且抽取类似元数据次数多了,费用很贵;所以整体思想是减少list操作,有个元数据管理文件,然后从文件抽取必要文件然后采取 get操作),一致性保证也有限。

knowcai126的博客 291

Dream to Control: Learning Behaviors by Latent Imagination 梦境控制:通过潜在想象学习行为

Danijar Hafner * University of Toronto 多伦多大学 Google BrainTimothy Lillicrap DeepMindJimmy BaUniversity of Toronto 多伦多大学Mohammad Norouzi Google BrainLearned world models summarize an agent’s experience to facilitate learning complex behaviors. While learning

u013250861的博客 61

Rage(PC) Modding Notes 狂怒 (pc)制作模组 指南 一

从rage狂怒的mod笔记资料来看中看的出来,跟doom3和quake3的很多东西已经完全不一样了,我觉得乃是在doom3源代码的基础之上,不断的改进,基本上大部分都改动过了 ________________________________________ Rage(PC) Modding Notes ___________________________

tailiangliang的专栏 7936

图学习会议 2024 笔记(七)

本次演讲和报告涵盖了图机器学习的前沿方向。首先,Xavier Bresson 教授探讨了如何结合大型语言模型和图神经网络的优势,以处理文本属性图任务。随后,三篇口头报告分别展示了图方法在生物物理、宇宙学和理论分析中的创新应用。我们将逐一解析这些工作的核心思想、方法及贡献。本节课中,我们一起学习了图机器学习领域的多个前沿方向。

龙哥盟 228

学习 Harness Agent笔记

去年找了个智能体开发的实习工作,做Rag开发,能从0-1搓一个基于langchain的简单智能体,经过小一年的校招,最后还是找到了一个做智能体开发的工作。但是很久没有接触AI Agent了,MCP和RAG当时选了RAG,MCP也只知道个大概,没有亲手接到我的智能体里过,因为项目用不到这个;skills是自己做项目时候实打实能帮我vibecoding提效的东西,属于是用过,了解过,但是手搓没搓过。

weixin_55265194的博客 218

MYSQL SQL 执行系列2

-> open_and_process_table (为 Table_ref 获取 MDL 锁并打开表或视图)|-> open_table (对于基表)-> open_table (对于基表)所以open_table是真正打开一个的地方(视图、派生表、临时表有其他处理函数)。是 MySQL 服务器中的核心分发函数。它接收已经解析并填充好的LEX结构(语法树),根据的值(如等),调用相应的内部处理函数完成实际的数据操作、元数据变更或管理命令。该函数位于之后,是查询执行流程的最终入口。

Piemon&Anokata的博客 300

05阶段:NLP自然语言处理基础(2)

本文系统讲解了NLP中的迁移学习,重点介绍了fastText工具的使用及其模型原理。主要内容包括: fastText工具概述:fastText是Facebook开发的NLP工具包,具有文本分类和词向量训练两大功能,优势在于速度快、精度高。其安装简单,通过pip即可完成。 fastText模型架构:基于类似CBOW的三层结构,使用层次softmax和负采样提升效率。层次softmax通过哈夫曼树实现多类别高效分类;负采样通过随机选择部分负样本来降低计算量。 应用实践:详细演示了使用fastText进行文本分类

专注前端开发领域,深耕 Python AI Agent应用开发,热爱探索 Web 与人工智能的前沿技术。 503
上一篇: 统计文本文件信息(Calculating Text File Statistics)
下一篇: 如何获取远程计算机的时间
PowerShell
博客等级 码龄19年 103粉丝 110原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值