问题标签 [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.

0 投票
4 回答
2146 浏览

php - 如何在 php 中将方括号写入文本文件?

我正在尝试编写一个 php 脚本来生成各种新的 php 页面,但我发现我无法写出方括号。当我以与其他字符(即 [ )相同的方式转义方括号时,前导 \ 被写入新页面,这导致代码不起作用:

当我不转义括号时,页面会失败,当我尝试替换 asc(91) 时也会发生同样的事情。

我见过其他使用 $row->Value 之类的代码的示例,但我尝试过,但没有成功。如果有人可以帮助我输出方括号,或者知道另一种方法,我可以通过这种方法从一行中获取一个值而不使用一个,我将非常感激

0 投票
0 回答
1793 浏览

javascript - 检查参数是否存在于任何深度的 JSON 对象中

api 以无法定义的深度返回 JSON 响应,其中可能包含或不包含某些元素。如何检查属性是否存在?一些参数包括奇怪的名称,如“@param”或​​“$”。示例如下。

我写了一个类似的检查,但由于上述原因不能使用点语法。非常感谢您对修改此内容的帮助。

要测试的对象的示例是:

在我用 checkValue(obj.member.age) 检查它之前,但在这个例子中由于明显的原因不能这样做。

0 投票
1 回答
1447 浏览

javascript - 访问不带点和一对括号的变量(parent.child.grandchild)的孙子

我正在使用一种转换表构建一个与画布相关的类。用户可以编辑转换表。(不是很相关,但也许你想知道为什么):

例子:


真正的问题:

通常,我会使用el['style']['width']设置 el.style.width。但我想不使用el[something]第二对括号:我希望属性名称是完全可变的(我也希望能够设置el['innerHTML'])。a[b]那么,有没有办法通过使用而不使用来获得孙子a[b][c]

PS当然,我不想用eval。

0 投票
3 回答
824 浏览

c++ - 奇怪的 C++ 语法

我有 8 年的编码经验,但我从未见过将运算符[]作为参数传递给函数定义。

例如,以下代码(来自开源项目):

在我的编码生涯中,我一直将其定义[]为运算符重载器,而不是参数。

那么这个新语法意味着什么?

我正在使用 Visual Studio 2003 附带的编译器。如何更改上述代码以便在 VS 2003 中编译?

0 投票
2 回答
2973 浏览

javascript - Javascript 方括号表示法多个动态属性

这可能听起来有点不寻常,我以前从来不需要以这种方式使用方括号表示法,而且我绞尽脑汁想不出一种产生预期结果的方法。

我正在实现一个回调包装器来维护this将方法作为回调传递时的引用

例如

我遇到的问题是 foo 有一些嵌套方法

例如

我试图找出一种方法让 wrap 方法支持嵌套方法

例如

因此,该foo.wrap函数需要动态添加与传入的长度或参数相对应的方括号。

例如

我想不出办法来做到这一点。有任何想法吗 ?

我有一个偷偷摸摸的怀疑这是不可能的。

0 投票
2 回答
110 浏览

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”呢?什么时候不?

谢谢,山姆

0 投票
1 回答
687 浏览

bbcode - 如何关闭所有未关闭的左方括号标签?

好的,所以我有一条消息,可以使用正则表达式来确定其中是否有方括号,如果有,确定它们是否没有关闭。

例如,打开方括号是这样的: [code]

关闭是这样的: [/code]

但是,方括号中的代码不仅仅是 bbc 代码。

我想要做的是使用一个包含整个消息的变量,并以某种方式确定方括号内是否有任何没有结束标记 [/的单词,表示为:单词,然后] 打开标签当然以[单词开头,然后以]

所以,如果我在变量中有这样的东西:

好的,这是整个 script.php 文件,其中包含所有最近的模块代码。因此,我们从 Main 函数开始,用于从 functions 参数中检索 $params...

它会知道它[code]没有关闭并在最后添加[/code]

但是,如果我有这样的事情:

它应该知道[table]and[tr][td]没有关闭,它应该按以下顺序将结束标签添加到其中:

[/td][/tr]最后[/table]

但也有其他标签,如[list][li][/li][/list]

如果我可以填充数组中方括号内的所有标签,而不是调用一个检查它是否同时具有开始和结束标签的函数,那就太好了,这样它就不会影响非 bbc 代码标签人们投入信息只是因为。

谁能帮我看看Reg。前做这个?至少如果有人可以帮助我开始这将是非常好的。

多谢你们 :)

0 投票
3 回答
103 浏览

sql-server - 有什么理由在方括号之间写一个数据库列吗?

我正在维护由另一个人在 SQL Server 中创建的数据库。在一个表中,我发现一列名称在方括号之间。该字段的名称是desc,它在表中存储为[desc]。其他字段不带方括号存储。这种选择背后有什么特殊原因/约定吗?

建立在数据库之上的应用程序是用 C# 或 VB.NET 开发的。

谢谢

0 投票
2 回答
5505 浏览

c++ - C++ 链表:重载括号运算符 []

因此,我决定回顾一些数据结构以保持敏锐;)

当我想起我需要桶的链表以避免哈希冲突时,我开始实现哈希表。所以我开始了我的链表......

我实现了我的链表类的所有功能方法(添加、获取、删除等),然后我决定尝试一些我以前没有尝试过的东西。重载数组索引运算符,以便可以检索或分配我的链表索引,就好像链表是一个数组一样。

我的检索部分工作没问题:

get 函数返回关联节点的数据,而不是节点本身...... setter 应该在提供的值存储到给定索引处的节点的数据属性的地方表现......我的愿景是用户永远不会必须触摸 ListNode 类。

我的最终目标是我可以拥有一个智能的 LinkedList,其行为如下:

getter 工作正常,但我在 setter 上遇到了麻烦。假设所有索引错误检查和内存分配的 set 函数按原样完成。任何帮助,将不胜感激。如果不可能,请在我花更多时间之前告诉我。谢谢。

0 投票
5 回答
1583 浏览

c++ - 为模板 Polynom 类重载 operator[]

我正在编写一个模板Polynom<T>类,其中T是其系数的数字类型。

多项式的系数存储在 中std::vector<T> coefficients,其中coefficients[i]对应x^i于实数多项式。(所以 x 的幂是递增的)。

保证coefficients向量始终包含至少一个元素。- 对于零多项式,它是T()

我想重载operator[]执行以下操作:

  1. 传递给 operator[] 的索引对应于我们要修改/读取其系数的 X 的幂。
  2. 如果用户只想读取系数,它应该抛出负索引,返回coefficients.at(i)存储范围内的索引 - 并合理地为所有其他索引返回 0,而不是抛出。
  3. 如果用户想修改系数,它应该抛出负指数,但让用户自由修改所有其他指数,即使指定的指数大于或等于coefficients.size()。所以我们想以某种方式调整向量的大小。

我遇到的主要问题如下:

1.

如何区分读情况和写情况?一个人没有解释就离开了我,但说写了两个版本:

是不够的。但是,我认为编译器在读取情况下更喜欢 const 版本,不是吗?

2.

我想确保coefficients向量中不会存储任何尾随零。所以我必须提前知道,“在”我返回一个可变T&的系数之前,用户想要分配什么值。而且我知道这operator[]不会收到第二个论点。

显然,如果这个值不为零(不是 T()),那么我必须调整向量的大小并将适当的系数设置为传递的值。

但我不能提前(在返回T&from之前operator[])这样做,因为如果要分配的值是 T(),那么,如果我提前调整系数向量的大小,它最终会有很多尾随“零”。

当然,我可以检查类的每个其他函数中的尾随零,并在这种情况下删除它们。对我来说似乎是一个非常奇怪的决定,我希望每个函数都开始工作,假设如果向量的大小 > 1,则向量末尾没有零。

你能否建议我尽可能具体地解决这个问题?我听说过编写一个可隐式转换为T&with 重载的内部类operator=,但我缺乏细节。

非常感谢您!