标签: associative-array

在Javascript数组中查找元素的有效方法

我正在使用带标题的数组.每个标题索引对应于数据库中的id,该id包含该给定标题的html.

假设我有一个包含其中一个标题的字符串.

title = "why-birds-fly";
titles[] // an array which contains all the titles
Run Code Online (Sandbox Code Playgroud)

要使用字符串"title"来获取相应的ID,我可以这样做:

for (i = 0; i < titles.length-1; i++) {
  if (titles[i] == title)
    return i+1;
}
Run Code Online (Sandbox Code Playgroud)

我可以使用的另一种方法是创建一个关联数组和titles数组,这与titles完全相反.也就是说,它使用字符串作为索引并返回数字.

titles_id {blah:0,why-birds-fly:1,blah2:2}
Run Code Online (Sandbox Code Playgroud)

然后我可以通过以下方式访问ID:

return titles_id[title]+1;
Run Code Online (Sandbox Code Playgroud)

考虑到CPU,内存等,最有效的是什么?

另外,如果我的逻辑完全错误,请告诉我.

谢谢威廉

javascript complexity-theory big-o search associative-array

8
推荐指数
1
解决办法
3368
查看次数

如何在JavaScript中访问"关联"数组的第一个键?

我有一个js'allociative'数组,有

array['serial_number'] = 'value'
Run Code Online (Sandbox Code Playgroud)

serial_number和value是字符串.例如array['20910930923'] = '20101102'

我按价值排序,工作正常.假设我收回了"已排序"的对象;

现在我想访问'sorted'数组的第一个KEY.我该怎么做?我想不出我需要迭代了

for (var i in sorted)
Run Code Online (Sandbox Code Playgroud)

并在第一个之后停止......

谢谢

编辑:只是为了澄清,我知道js不支持关联数组(这就是为什么我把它放在标题中的高逗号中).

javascript associative-array key

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

如何在Javascript中复制Python的dict.items()?

在Javascript中我有一个JSON对象,我只想从中处理这些项目:

var json = {
    itema: {stuff: 'stuff'},
    itemb: {stuff: 'stuff'},
    itemc: {stuff: 'stuff'},
    itemd: {stuff: 'stuff'}
}
Run Code Online (Sandbox Code Playgroud)

在Python中,我可以做到

print json.items()
[{stuff: 'stuff'},{stuff: 'stuff'},{stuff: 'stuff'},{stuff: 'stuff'}]
Run Code Online (Sandbox Code Playgroud)

我能这样做是js吗?

javascript associative-array

8
推荐指数
1
解决办法
1307
查看次数

PHP,MySQL - 将复选框与下拉列表相关联

我在尝试向一个人订购的产品添加"数量"时遇到问题.我有一个产品表,订单表,一个order_item表(它是一个包含了ID的从产品和订单多到多表).我在左边有一个下拉框,里面有你想要的数量.最大值是系统中可用的库存.

这就是表单的样子:

在此输入图像描述

<form name ="order_form" method="post" action="add_order_action.php" enctype="multipart/form-data">
                    <table border=1 cellpadding=2 cellspacing=2>
                        <caption>Order Form</caption>
                        <tr>
                            <th align="right"> Property </th>

                            <th align="left"> Value </th>
                        </tr>
                        <tr>
                            <td class="col1"> Name </td>
                            <td class="col2"> <input type="text" name="customer" id ="customer" size=30> </td>
                        </tr>
                        <tr>
                            <td class="col1"> Address </td>
                            <td class="col2"> <input type="text" name="address" id ="address" size=30> </td>
                        </tr>
                        <tr>
                            <td class="col1"> Products </td>
                            <td class="col2">

                                <!-- Interests is an array of all interests in the database-->
                                {foreach $products as $product}
                                <select name="products[{$product.id}][quantity]" id ="quantities"> …
Run Code Online (Sandbox Code Playgroud)

html php mysql associative-array drop-down-menu

8
推荐指数
1
解决办法
2175
查看次数

将数组转换为关联数组的函数

可能重复:
在JavaScript中将平面数组[k1,v1,k2,v2]转换为对象{k1:v1,k2:v2}?

我想在JavaScript中将数组转换为关联数组.

例如,给出以下输入,

  var a = ['a', 'b', 'c', 'd'];
Run Code Online (Sandbox Code Playgroud)

我想将下一个关联数组作为输出:

  {'a' : 'b', 'c' : 'd'}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

javascript arrays associative-array

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

如何在Python中实现关联数组(不是字典)?

我试图用Python打印出一本字典:

Dictionary = {"Forename":"Paul","Surname":"Dinh"}
for Key,Value in Dictionary.iteritems():
  print Key,"=",Value
Run Code Online (Sandbox Code Playgroud)

尽管首先列出了"Forename"项,但Python中的字典似乎按值排序,因此结果如下:

Surname = Dinh
Forename = Paul
Run Code Online (Sandbox Code Playgroud)

如何在代码中输入相同的顺序或在附加项目时的顺序(不按值或按键排序)?

python sorting dictionary associative-array

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

JQuery - 将表单数据序列化为Associated Array

如何将HTML表单数据序列化为关联数组,而不是使用jQuery使用$ .serializeArray()生成的数字索引格式?

jQuery.serializeArray给出的输出使得使用数字索引键直接选择值很困难.当在表单输入中使用复选框时,可能会发生轻微的索引转换.

serializeArray的输出

[
  0: [name: 'field-1', value: 'val1'],
  1: [name: 'check', value: 'val2'],
  2: [name: 'check', value: 'val3']
]
Run Code Online (Sandbox Code Playgroud)

期望的输出 - 更可靠的格式和更简单的价值访问

[
  'field-1' : 'val1',
  'check' : [ 0 : 'val2', 1 : 'val3' ]
]
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery associative-array

8
推荐指数
1
解决办法
8181
查看次数

如何过滤关联数组?

我必须处理重构,以减少PHP中的代码行数,以过滤关联数组.所以我在MySQL中选择DB,以获得一个关联数组.所以我的"对象"有一个类别和一个姓氏字段.

while ($row = mysqli_fetch_array($result)) {
        $array[] = $row['category'];
        $array[] = $row['Surname'];
   }
Run Code Online (Sandbox Code Playgroud)

我想从这个数组中获取,就像许多其他子数组一样,按类别划分.我的意思是类别数组标识可能是:

$categories = array("A","B","C","D");
Run Code Online (Sandbox Code Playgroud)

所以我想要的是为每个类别获取一个数组,其中包含该类别的所有姓氏.所以假设该方法有效,如下所示:

$arrayFiltered = method_filter($array_asso,"A");
Run Code Online (Sandbox Code Playgroud)

最后我想要这样的东西:

    foreach ($categories as &$value) {
       $arrayFiltered = method_filter($array_asso,$value);
       my_method_which_needs_the_filtered_array($arrayFiltered);
}
Run Code Online (Sandbox Code Playgroud)

预先感谢您的帮助.

php arrays associative-array

8
推荐指数
1
解决办法
1348
查看次数

以列表为值的 Bash 关联数组

我必须使用 Java 工具的输出,它返回一个看起来像HashMap<String, ArrayList<String>. 我必须使用 BASH 并尝试将其声明为关联数组,这与地图非常相似。bash 中关联数组的声明应该在一行中,我尝试按以下方式执行此操作。

ARRAY=(["sem1"]=("first name" "second name") ["sem2"]=("third name") ["sem3]=OTHER_LITS)
Run Code Online (Sandbox Code Playgroud)

但这会产生以下错误:

bash: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)

我可以一行一行地定义这一行,但我想把它放在一行中。如何在 bash 中仅在一行中定义一个关联数组?

arrays bash dictionary associative-array

8
推荐指数
2
解决办法
5491
查看次数

表示3个值集的最佳方法

假设我有100组3个值.第一个值是时间,第二个值是x位置,第三个值是y位置.例如,这将是一个超过100秒的点的xy位置.我有PHP背景.在PHP中,我会使用这样的3D关联数组:

position["time"]["x"]["y"]
Run Code Online (Sandbox Code Playgroud)

所以我可以在特定时间访问x,y值.你会如何在c#中做到这一点?我认为像列表和字典这样的泛型会做到这一点.但我不知道如何为3D数据集实现键值.

c# generics associative-array multidimensional-array

8
推荐指数
2
解决办法
1154
查看次数