标签: associative-array

任何人都可以在Javascript中推荐一个好的Hashtable实现吗?

我发现jCache和其他一些使用关联数组的本土方法.如果您有使用jCache的经验,是否有任何限制?

javascript dictionary associative-array hashtable

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

如何在php中的数组中插入新的键值对?

我有一个如下命名的数组$test_package_data.作为参考我打印它的前两个元素:

Array
(
    [0] => Array
        (
            [test_pack_id] => 9f27643023a83addd5eed41c4aade840
            [test_pack_name] => Exams Combo
            [test_pack_desc] => This Package contains 24 tests of Reasoning, English and Quantitative Aptitude.

Total Tests in this Package : 26
            [test_pack_type_id] => 3
            [test_pack_image] => 
            [test_pack_validity_year] => 0
            [test_pack_validity_month] => 3
            [test_pack_validity_days] => 0
            [test_pack_plan] => paid
            [test_pack_price] => 399.00
            [test_pack_no_tests] => 0
            [test_pack_publish] => yes
            [test_pack_sold] => 1
            [test_pack_created_staff_id] => ff8d4a5ea6bf11dce105aa2fa7b959b8
            [test_pack_updated_staff_id] => 81c4e3607c7e56bbf5461ef150437675
            [test_pack_created_date] => 303
            [test_pack_updated_date] => 1349235701
            [test_pack_purchase_date] => 255 …
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array multidimensional-array

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

pls_integer和binary_integer有什么区别?

我继承了一些代码,这些代码将成为一些额外工作的基础.看看存储过程,我看到了很多关联数组.

其中一些由binary_integers索引,一些由pls_integers索引.这两者有什么不同吗?

我查看了文档,但除此之外:

PL/SQL数据类型PLS_INTEGERBINARY_INTEGER相同.为简单起见,本文档使用PLS_INTEGER来表示PLS_INTEGERBINARY_INTEGER.

我发现两者之间没有任何区别.那有什么区别?是否出于历史/兼容性原因?

我正在使用Oracle 10gR2

oracle plsql associative-array oracle10g

27
推荐指数
3
解决办法
7万
查看次数

如何将数组值添加到关联数组的中间?

让我们说我有这个数组:

$array = array('a'=>1,'z'=>2,'d'=>4);

在后来的剧本,我想添加值'c'=>3之前'z'.我怎样才能做到这一点?

编辑:是的,订单很重要.当我通过数组运行foreach()时,我不希望将新添加的值添加到数组的末尾.我从mysql_fetch_assoc()获取此数组

编辑2:我上面使用的键是占位符.使用kso​​rt()将无法达到我想要的效果.

编辑3:http://www.php.net/manual/en/function.array-splice.php#88896完成了我正在寻找的东西,但我正在寻找更简单的东西.

编辑4:谢谢你的downvotes.我对你的答案给出了反馈,你无能为力,所以你贬低并要求关闭这个问题,因为你不知道答案.谢谢.

编辑5:获取一个包含约30列的示例数据库表.我使用mysql_fetch_assoc()获取此数据.在这个新数组中,在'pizza'和'drink'列之后,我想添加一个新列'full_dinner',它结合了'pizza'和'drink'的值,这样当我在所述数组上运行foreach()时,'full_dinner'直接来自'drink'

php arrays associative-array

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

在Java中按值映射自动排序

我需要在Java中有一个自动按值排序的映射 - 这样当我添加新的键值对或更新现有键值对的值时,它会随时保持排序,甚至删除一些条目.

还请记住,这张地图将会非常庞大​​(数百万,甚至是数百万条的大小).

所以基本上我正在寻找以下功能:

假设我们有一个实现上述功能的"SortedByValuesMap"类,我们有以下代码:

SortedByValuesMap<String,Long> sorted_map = new SortedByValuesMap<String, Long>();
sorted_map.put("apples", 4);
sorted_map.put("oranges", 2);
sorted_map.put("bananas", 1);
sorted_map.put("lemons", 3);
sorted_map.put("bananas", 6);

for (String key : sorted_map.keySet()) {
  System.out.println(key + ":" + sorted_map.get(key));
}
Run Code Online (Sandbox Code Playgroud)

输出应该是:

bananas:6
apples:4
lemons:3
oranges:2
Run Code Online (Sandbox Code Playgroud)

特别是,对我来说真正重要的是能够随时获得具有最低值的条目 - 使用如下命令:

smallestItem = sorted_map.lastEntry();
Run Code Online (Sandbox Code Playgroud)

哪个应该给我'橘子'条目

编辑:我是一个Java新手所以请详细说明你的答案 - 谢谢

EDIT2:这可能会有所帮助:我正在使用它来计算大文本文件中的单词(对于那些熟悉的人:特别是n-gram).所以我需要建立一个地图,其中键是单词,值是这些单词的频率.但是,由于限制(如RAM),我想只保留X最常用的单词 - 但事先你不能知道哪些是最常用的单词.因此,我认为它可能起作用的方式(作为近似)是开始计算单词,当地图达到上限(如1 mil条目)时,将删除最不频繁的条目,以便将地图的大小保持为总是1密耳.

java collections associative-array sorted data-structures

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

在PHP中,是否有一个函数返回一个由关联数组数组中的键值组成的数组?

我确定之前已经问过这个问题,我很抱歉没先找到它.

原始数组:

[0] => Array
    (
        [categoryId] => 1
        [eventId] => 2
        [eventName] => 3
        [vendorName] => 4
    )

[1] => Array
    (
        [categoryId] => 5
        [eventId] => 6
        [eventName] => 7
        [vendorName] => 8
    )

[2] => Array
    (
        [categoryId] => 9
        [eventId] => 10
        [eventName] => 11
        [vendorName] => 12
    )
Run Code Online (Sandbox Code Playgroud)

我希望得到的结果是:print_r(get_values_from_a_key_in_arrays('categoryId',$ array));

[0] => 1
[1] => 5
[2] => 9
Run Code Online (Sandbox Code Playgroud)

我只是在寻找比编写自己的基于foreach的功能更清晰的东西.如果foreach是答案,我已经有了.

编辑:我不想使用硬编码密钥,我只是展示了一个示例调用解决方案.谢谢!^ _ ^

PHP 5.3快速抓取解决方案:

private function pluck($key, $data) {
    return array_reduce($data, function($result, $array) …
Run Code Online (Sandbox Code Playgroud)

php arrays associative-array array-reduce pluck

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

PHP - 将两个数组(相同长度)合并为一个关联?

实际上很简单的问题..

是否有可能在PHP中将两个相同长度的独立数组合并到一个关联数组中,其中第一个数组的值用作关联数组中的键?

我当然可以做到这一点,但我正在寻找另一个(内置)功能,或更有效的解决方案..?

function Combine($array1, $array2) {
    if(count($array1) == count($array2)) {
        $assArray = array();
        for($i=0;$i<count($array1);$i++) {
            $assArray[$array1[$i]] = $array2[$i];
        }
        return $assArray;
    }
}
Run Code Online (Sandbox Code Playgroud)

php arrays merge associative-array

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

变量作为关联数组中的索引 - Javascript

我正在尝试创建一个关联数组,创建一个空数组,然后添加一个(indexName- >值)对:

var arrayName = new Array;

arrayName["indexName"] = value;

// i know i can also do the last line like this:

arrayName.indexName = value;
Run Code Online (Sandbox Code Playgroud)

当我将值分配给indexName我想要indexName动态和变量的值时.所以我尝试了这个:

arrayName[eval("nume")] = value;
Run Code Online (Sandbox Code Playgroud)

哪里:

var var1 = "index";
var var2 = "Name";

var nume = '"' + var1 + var2 + '"'; 
Run Code Online (Sandbox Code Playgroud)

但是:alert(arrayName["indexName"]);没有返回"价值"......它说"未定义"

有什么我想念的吗?(我不熟悉eval()); 如果我正在尝试的方式是死路一条,还有另一种方法可以使关联数组值的索引名称动态化吗?

javascript associative-array

24
推荐指数
3
解决办法
7万
查看次数

替换elisp中的关联列表中的项目

我在emacs lisp中有一个列表:

(setq a1
 '((:k1 . 1)
   (:k2 . 2)
   (:k3 . 3)))
Run Code Online (Sandbox Code Playgroud)

我想将值改为:k1到10,就像(:k1 . 10).我怎么做?

我试过(setf (assoc :k1 a1) '(:k1 . 10))- 它没用.

lisp associative-array elisp

24
推荐指数
4
解决办法
4154
查看次数

php array_merge关联数组

我试图将一个项目添加到关联数组的开头.我认为最好的方法是使用array_merge,但我有一些奇怪的后果.我从mysql数据库中获取了产品的id和名称,并将其作为关联数组返回,如此(不是实际数据返回,而是此问题的示例数据,表示数据的大致外观):

$products = array (1 => 'Product 1', 42 => 'Product 42', 100 => 'Product 100');
Run Code Online (Sandbox Code Playgroud)

这将被发送到一个html助手,以创建一个将键与值相关联的下拉列表,并将数组项的值设置为下拉选择控件中的文本.我需要第一个项目是"请选择",键为0,所以我这样做:

$products = array_merge(array(0 => "Select a product" ), $products);
Run Code Online (Sandbox Code Playgroud)

结果数组如下所示:

array(
  0 => 'Select a product', 
  1 => 'Product 1', 
  2 => 'Product 42', 
  3 => 'Product 100' 
);
Run Code Online (Sandbox Code Playgroud)

当我真正想要的是不丢失关联数组的键.有人告诉我,你可以适当地在我尝试的方式使用array_merge与关联数组,但是,我相信,因为我的键是整数,它不是处理数组作为一个真正的关联数组,并如上图所示对其进行压缩.

问题是:为什么array_merge函数会更改项目的键?我可以阻止这样做吗?或者还有另一种方法可以让我完成我想要做的事情,在数组的开头添加新项目吗?

php associative-array array-merge

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