标签: associative-array

Javascript:添加到关联数组

我有一个名为insert的函数,它接受两个参数(name,telnumber).

当我调用这个函数时,我想添加一个关联数组.

例如,当我执行以下操作时:

insert("John", "999");
insert("Adam", "5433");
Run Code Online (Sandbox Code Playgroud)

我想要它,所以这样存储:

[0] 
{
name: John, number: 999
}
[1] 
{
name: Adam, number: 5433
}
Run Code Online (Sandbox Code Playgroud)

javascript arrays associative-array

12
推荐指数
2
解决办法
5万
查看次数

JavaScript []如何真正起作用?

我正在为极其资源受限的嵌入式设备(http://www.espruino.com)编写一个JavaScript解释器,每当我认为我已经正确地实现了一些JavaScript时,我就会意识到我错了.

我现在的问题是[].您如何正确实现JavaScript最基本的部分之一?

我查看了JavaScript规范,也许我找不到正确的位,但我找不到有用的答案.

我之前曾假设您有效地拥有两个"地图" - 一个用于整数,一个用于字符串.并且数组长度是最高整数加1的值.然而,根据Chrome上的jsconsole,这似乎是错误的:

var a = [];
a[5] = 42;
a["5"]; // 42
a.length; // 6
Run Code Online (Sandbox Code Playgroud)

但是也:

var a = [];
a["5"] = 42;
a[5]; // 42
a.length; // 6
Run Code Online (Sandbox Code Playgroud)

所以...很棒 - 一切都被转换成一个字符串,并且使用表示整数的最高值字符串(加一)来获取长度?错误.

var a = [];
a["05"] = 42;
a.length; // 0
Run Code Online (Sandbox Code Playgroud)

"05"是一个有效的整数 - 即使是八进制.那为什么它不会影响长度呢?

您是否必须将字符串转换为整数,然后在转换回字符串时检查它是否匹配?

有没有人引用用于存储和获取数组或对象中的项的确切算法?它看起来应该很简单,但看起来它实际上并非如此!

javascript arrays dictionary associative-array

12
推荐指数
1
解决办法
249
查看次数

获取PHP数组中唯一元素的键

关联数组的关键是动态生成的.我如何获得这样一个数组的"密钥"?

$arr = array ('dynamic_key' => 'Value');
Run Code Online (Sandbox Code Playgroud)

我知道可以通过这样的foreach循环访问它:

foreach ($arr as $key => $val) echo "Key value is $key";
Run Code Online (Sandbox Code Playgroud)

但是,我知道这个数组只有一个键,并且想避免使用foreach循环.是否可以以任何其他方式访问此元素的值?或者获得关键名称?

php associative-array

11
推荐指数
3
解决办法
6473
查看次数

PL/SQL批量收集到具有稀疏键的关联数组

我想在PL/SQL中执行SQL查询,并将结果填充到关联数组中,其中SQL中的一列成为关联数组中的键.例如,假设我有一个Person带有列的表

PERSON_ID   INTEGER      PRIMARY KEY
PERSON_NAME VARCHAR2(50)
Run Code Online (Sandbox Code Playgroud)

...和价值观如下:

 PERSON_ID  |  PERSON_NAME
 ------------------------
 6          |  Alice
 15         |  Bob
 1234       |  Carol
Run Code Online (Sandbox Code Playgroud)

我想批量收集此表TABLE OF VARCHAR2(50) INDEX BY INTEGER,使得6此关联数组中的键具有值Alice等等.可以在PL/SQL中完成吗?如果是这样,怎么样?

oracle plsql associative-array

11
推荐指数
2
解决办法
4万
查看次数

php是否保留了关联数组中的顺序?

可能重复:
PHP关联数组是否已订购?

如果我用不同的键将项添加到关联数组中,是否保留了加法的顺序?如何访问给定元素的"previous"和"next"元素?

php arrays associative-array

11
推荐指数
2
解决办法
5249
查看次数

在PHP中更改关联数组中的键

说我有这样的数组:

array(2) {
  [0]=> array(2) {
    ["n"]=> string(4) "john"
    ["l"]=> string(3) "red"
  }
  [1]=> array(2) {
    ["n"]=> string(5) "nicel"
    ["l"]=> string(4) "blue"
  }
}
Run Code Online (Sandbox Code Playgroud)

我如何更改内部数组的键?说,我想为"name"更改"n",为"last_name"更改"l".考虑到它可能发生比阵列没有特定的键.

php arrays associative-array

11
推荐指数
2
解决办法
3万
查看次数

如何在PHP中发布关联数组

我有以下表格:

<form action="options.php" method="post">
    <input type="text" name="deptid" id="deptid" />
    <input type="text" name="deptname" id="deptname" />
    <input type="submit" name="submit" id="submit" value="save" />
</form>
Run Code Online (Sandbox Code Playgroud)

编辑

是否可以提交之前将这两个值传递给一个关联数组?我想以这种形式传递它:

array('deptid'=>'deptname')
Run Code Online (Sandbox Code Playgroud)

我需要这个,因为我避免修改目标php文件的脚本(options.php)

谢谢.

html php associative-array

11
推荐指数
2
解决办法
3万
查看次数

关联数组是什么意思?

我正在阅读C++标准库:教程和参考书.在地图示例中:

   typedef map<string,float> StringFloatMap;
   StringFloatMap coll;

   //insert some elements into the collection
   coll["VAT"] = 0.15;
   coll["Pi"] = 3.1415;
   coll["an arbitrary number"] = 4983.223;
   coll["Null"] = 0;
Run Code Online (Sandbox Code Playgroud)

作者说:

这里,索引用作键,可以是任何类型.这是关联数组的接口.关联数组是索引可以是任意类型的数组.

任何人都可以解释一下,关联数组中任意类型意味着什么?

c++ associative-array data-structures

11
推荐指数
1
解决办法
1万
查看次数

PHP计算布尔数组中的真值数

我有一个关联数组,我需要计算其中布尔值的数量.

最终结果是创建一个if语句,当数组中只存在一个true值时,该语句将返回true.如果数组中有多个真值,或者数组中没有真值,则需要返回false.

我知道最好的路线是以某种形式使用count和in_array.我不确定这会起作用,只是在我的头顶,但即使它确实如此,这是最好的方法吗?

$array(a->true,b->false,c->true)    

if (count(in_array(true,$array,true)) == 1)
{
    return true
}
else
{
    return false
}
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array if-statement count

11
推荐指数
2
解决办法
9852
查看次数

在Bash测试中,如果声明了关联数组

如何测试是否在Bash中声明了关联数组?我可以测试一个变量,如:

[ -z $FOO ] && echo nope
Run Code Online (Sandbox Code Playgroud)

但我似乎不适用于关联数组:

$unset FOO
$declare -A FOO
$[ -z $FOO ] && echo nope
nope
$FOO=([1]=foo)
$ [ -z $FOO ] && echo nope
nope
$ echo ${FOO[@]}
foo
Run Code Online (Sandbox Code Playgroud)

编辑:

谢谢你的答案,两者似乎都有效,所以我让速度决定:

$ cat test1.sh
#!/bin/bash
for i in {1..100000}; do
    size=${#array[@]}
    [ "$size" -lt 1 ] && :
done
$ time bash test1.sh #best of five

real    0m1.377s
user    0m1.357s
sys     0m0.020s
Run Code Online (Sandbox Code Playgroud)

和另外一个:

$ cat test2.sh
#!/bin/bash

for i in {1..100000}; do
    declare …
Run Code Online (Sandbox Code Playgroud)

bash associative-array

11
推荐指数
3
解决办法
3617
查看次数