问题标签 [square-bracket]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何在 php 中将方括号写入文本文件?
我正在尝试编写一个 php 脚本来生成各种新的 php 页面,但我发现我无法写出方括号。当我以与其他字符(即 [ )相同的方式转义方括号时,前导 \ 被写入新页面,这导致代码不起作用:
当我不转义括号时,页面会失败,当我尝试替换 asc(91) 时也会发生同样的事情。
我见过其他使用 $row->Value 之类的代码的示例,但我尝试过,但没有成功。如果有人可以帮助我输出方括号,或者知道另一种方法,我可以通过这种方法从一行中获取一个值而不使用一个,我将非常感激
javascript - 检查参数是否存在于任何深度的 JSON 对象中
api 以无法定义的深度返回 JSON 响应,其中可能包含或不包含某些元素。如何检查属性是否存在?一些参数包括奇怪的名称,如“@param”或“$”。示例如下。
我写了一个类似的检查,但由于上述原因不能使用点语法。非常感谢您对修改此内容的帮助。
要测试的对象的示例是:
在我用 checkValue(obj.member.age) 检查它之前,但在这个例子中由于明显的原因不能这样做。
javascript - 访问不带点和一对括号的变量(parent.child.grandchild)的孙子
我正在使用一种转换表构建一个与画布相关的类。用户可以编辑转换表。(不是很相关,但也许你想知道为什么):
例子:
真正的问题:
通常,我会使用el['style']['width']
设置 el.style.width。但我想不使用el[something]
第二对括号:我希望属性名称是完全可变的(我也希望能够设置el['innerHTML']
)。a[b]
那么,有没有办法通过使用而不使用来获得孙子a[b][c]
?
PS当然,我不想用eval。
c++ - 奇怪的 C++ 语法
我有 8 年的编码经验,但我从未见过将运算符[]
作为参数传递给函数定义。
例如,以下代码(来自开源项目):
在我的编码生涯中,我一直将其定义[]
为运算符重载器,而不是参数。
那么这个新语法意味着什么?
我正在使用 Visual Studio 2003 附带的编译器。如何更改上述代码以便在 VS 2003 中编译?
javascript - Javascript 方括号表示法多个动态属性
这可能听起来有点不寻常,我以前从来不需要以这种方式使用方括号表示法,而且我绞尽脑汁想不出一种产生预期结果的方法。
我正在实现一个回调包装器来维护this
将方法作为回调传递时的引用
例如
我遇到的问题是 foo 有一些嵌套方法
例如
我试图找出一种方法让 wrap 方法支持嵌套方法
例如
因此,该foo.wrap
函数需要动态添加与传入的长度或参数相对应的方括号。
例如
我想不出办法来做到这一点。有任何想法吗 ?
我有一个偷偷摸摸的怀疑这是不可能的。
objective-c - 关于objective-c的两个问题:框架链接和点&方括号表达式中的“self”
我现在正在学习 iPhone 开发。现在我正在阅读“iPhone 4 Development”一书。在阅读本书的过程中,我对本书中使用的一些关于 Objective-c 的语法感到困惑。好的,这是我的问题:
- 链接框架与头文件
在本书第 7 章的最后,书中提到了“将项目链接到框架”。在本书中,它链接到 AudioToolbox.framework 的项目。我想知道为什么不只添加头文件而不是链接框架?链接到框架和添加头文件有什么区别?
- 点中的“self”和“[]”表达式
在本书的第 9 章中,示例代码多次使用点运算符和方括号表达式,例如: SecondLevelViewController *controller = [controllers objectAtIndex:row];
我 SecondLevelViewController *nextController = [self.controllers objectAtIndex:row];
认为这两个句子具有相同的功能。那么什么时候应该使用“self”呢?什么时候不?
谢谢,山姆
bbcode - 如何关闭所有未关闭的左方括号标签?
好的,所以我有一条消息,可以使用正则表达式来确定其中是否有方括号,如果有,确定它们是否没有关闭。
例如,打开方括号是这样的: [code]
关闭是这样的: [/code]
但是,方括号中的代码不仅仅是 bbc 代码。
我想要做的是使用一个包含整个消息的变量,并以某种方式确定方括号内是否有任何没有结束标记 [/
的单词,表示为:单词,然后]
打开标签当然以[
单词开头,然后以]
所以,如果我在变量中有这样的东西:
好的,这是整个 script.php 文件,其中包含所有最近的模块代码。因此,我们从 Main 函数开始,用于从 functions 参数中检索 $params...
它会知道它[code]
没有关闭并在最后添加[/code]
但是,如果我有这样的事情:
它应该知道[table]
and[tr]
并[td]
没有关闭,它应该按以下顺序将结束标签添加到其中:
[/td]
比[/tr]
最后[/table]
但也有其他标签,如[list][li][/li][/list]
如果我可以填充数组中方括号内的所有标签,而不是调用一个检查它是否同时具有开始和结束标签的函数,那就太好了,这样它就不会影响非 bbc 代码标签人们投入信息只是因为。
谁能帮我看看Reg。前做这个?至少如果有人可以帮助我开始这将是非常好的。
多谢你们 :)
sql-server - 有什么理由在方括号之间写一个数据库列吗?
我正在维护由另一个人在 SQL Server 中创建的数据库。在一个表中,我发现一列名称在方括号之间。该字段的名称是desc
,它在表中存储为[desc]
。其他字段不带方括号存储。这种选择背后有什么特殊原因/约定吗?
建立在数据库之上的应用程序是用 C# 或 VB.NET 开发的。
谢谢
c++ - C++ 链表:重载括号运算符 []
因此,我决定回顾一些数据结构以保持敏锐;)
当我想起我需要桶的链表以避免哈希冲突时,我开始实现哈希表。所以我开始了我的链表......
我实现了我的链表类的所有功能方法(添加、获取、删除等),然后我决定尝试一些我以前没有尝试过的东西。重载数组索引运算符,以便可以检索或分配我的链表索引,就好像链表是一个数组一样。
我的检索部分工作没问题:
get 函数返回关联节点的数据,而不是节点本身...... setter 应该在提供的值存储到给定索引处的节点的数据属性的地方表现......我的愿景是用户永远不会必须触摸 ListNode 类。
我的最终目标是我可以拥有一个智能的 LinkedList,其行为如下:
getter 工作正常,但我在 setter 上遇到了麻烦。假设所有索引错误检查和内存分配的 set 函数按原样完成。任何帮助,将不胜感激。如果不可能,请在我花更多时间之前告诉我。谢谢。
c++ - 为模板 Polynom 类重载 operator[]
我正在编写一个模板Polynom<T>
类,其中T
是其系数的数字类型。
多项式的系数存储在 中std::vector<T> coefficients
,其中coefficients[i]
对应x^i
于实数多项式。(所以 x 的幂是递增的)。
保证coefficients
向量始终包含至少一个元素。- 对于零多项式,它是T()
。
我想重载operator[]
执行以下操作:
- 传递给 operator[] 的索引对应于我们要修改/读取其系数的 X 的幂。
- 如果用户只想读取系数,它应该抛出负索引,返回
coefficients.at(i)
存储范围内的索引 - 并合理地为所有其他索引返回 0,而不是抛出。 - 如果用户想修改系数,它应该抛出负指数,但让用户自由修改所有其他指数,即使指定的指数大于或等于
coefficients.size()
。所以我们想以某种方式调整向量的大小。
我遇到的主要问题如下:
1.
如何区分读情况和写情况?一个人没有解释就离开了我,但说写了两个版本:
是不够的。但是,我认为编译器在读取情况下更喜欢 const 版本,不是吗?
2.
我想确保coefficients
向量中不会存储任何尾随零。所以我必须提前知道,“在”我返回一个可变T&
的系数之前,用户想要分配什么值。而且我知道这operator[]
不会收到第二个论点。
显然,如果这个值不为零(不是 T()),那么我必须调整向量的大小并将适当的系数设置为传递的值。
但我不能提前(在返回T&
from之前operator[]
)这样做,因为如果要分配的值是 T(),那么,如果我提前调整系数向量的大小,它最终会有很多尾随“零”。
当然,我可以检查类的每个其他函数中的尾随零,并在这种情况下删除它们。对我来说似乎是一个非常奇怪的决定,我希望每个函数都开始工作,假设如果向量的大小 > 1,则向量末尾没有零。
你能否建议我尽可能具体地解决这个问题?我听说过编写一个可隐式转换为T&
with 重载的内部类operator=
,但我缺乏细节。
非常感谢您!