假设我有这个代码:
var myArray = new Object();
myArray["firstname"] = "Bob";
myArray["lastname"] = "Smith";
myArray["age"] = 25;
Run Code Online (Sandbox Code Playgroud)
现在,如果我想删除"姓氏"?....是否有一些相当的
myArray["lastname"].remove()?
(我需要元素消失,因为元素的数量很重要,我想保持清洁.)
我有关联数组:
array["sub2"] = 1;
array["sub0"] = -1;
array["sub1"] = 0;
array["sub3"] = 1;
array["sub4"] = 0;
Run Code Online (Sandbox Code Playgroud)
什么是按其值排序(降序)的最优雅方式,其中结果将是具有相应索引的数组:
sub2, sub3, sub1, sub4, sub0
Run Code Online (Sandbox Code Playgroud) 你好在Stackland.我想知道是否有一个函数或一种简单的方法将关联数组更改为索引数组.
详细说明,我正在使用Zend框架,我在我的网站中有一点我将一行SQL表作为关联数组取出.我通过JSON中的回显将它传递给了javascript.但是,我注意到我可以在Firebug中看到我的数据库列的名称.让外人知道你的表和列的名字是一个很大的安全禁忌,所以我想改变它
SQLarray[user_id]
SQLarray[block_id]
SQLarray[b_price] etc.
Run Code Online (Sandbox Code Playgroud)
至
SQLarray[0]
SQLarray[1]
SQLarray[2] etc.
Run Code Online (Sandbox Code Playgroud)
有没有办法做到这一点?
它也可以使Zend_Table_Abstract-> fetchAll()返回一个非关联数组,但我不认为这是可能的.谢谢你的帮助!
我无法在书籍或网络上找到任何示例,描述如何通过名称正确初始化关联数组(使用空值) - 当然,除非这是正确的方式(?)
感觉好像还有另一种更有效的方法:
config.php文件
class config {
public static $database = array (
'dbdriver' => '',
'dbhost' => '',
'dbname' -> '',
'dbuser' => '',
'dbpass' => ''
);
}
// Is this the right way to initialize an Associative Array with blank values?
// I know it works fine, but it just seems ... longer than necessary.
Run Code Online (Sandbox Code Playgroud)
的index.php
require config.php
config::$database['dbdriver'] = 'mysql';
config::$database['dbhost'] = 'localhost';
config::$database['dbname'] = 'test_database';
config::$database['dbuser'] = 'testing';
config::$database['dbpass'] = 'P@$$w0rd';
// This code …Run Code Online (Sandbox Code Playgroud) 我需要从JavaScript中的一个相当大的关联数组中获取第一个项目(实际上,只是第一个键).这是我当前正在做的事情(使用jQuery):
getKey = function (data) {
var firstKey;
$.each(data, function (key, val) {
firstKey = key;
return false;
});
return firstKey;
};
Run Code Online (Sandbox Code Playgroud)
只是猜测,但我要说这是一个更好的(阅读:更有效)的方式来做到这一点.有什么建议?
更新:感谢有见地的答案和评论!我忘记了我的JavaScript 101,其中规范说你不能保证关联数组中的特定顺序.但有趣的是,大多数浏览器确实以这种方式实现它.在获得第一个密钥之前,我不想对数组进行排序,但考虑到我的用例,这可能是不可避免的.
JS中的数组是否可以关联和索引?我希望能够通过其位置或键值查找数组中的项目..可能吗?
我已经看过很多关于如何获取CSV文件然后创建一个以标题为关键字的关联数组的例子.
例如:
Brand,Model,Part,Test
Honda,Civic,123,244
Honda,Civic,135,434
Toyota,Supra,511,664
Run Code Online (Sandbox Code Playgroud)
它会创建一个Array,如 Array[$num][$key]这里$key将是品牌,型号,部件,测试.
因此,如果我想访问测试值"434",我将不得不循环数组中的每个索引,然后忽略任何不是本田的品牌,以及任何不是思域的模型
我需要做的是最直接地访问值,而不是通过每个$ num索引的for循环运行.我希望能够访问价值测试"434":
Array['Honda']['Civic']['135']
或控制一个for语句循环通过每个模型本田有......类似的东西
foreach $model in Array['Honda']
至少我需要能够通过给定已知品牌的每个模型并访问每个模型的所有相关信息.
编辑:
只是为了确认我正在设置这个例子.我的实际数据有以下标题:
brand model part price shipping description footnote
其中我需要访问与该部件相关的所有信息(价格,运输,desc,脚注)
如何将关联数组作为参数传递给函数?这在巴什有可能吗?
以下代码未按预期工作:
function iterateArray
{
local ADATA="${@}" # associative array
for key in "${!ADATA[@]}"
do
echo "key - ${key}"
echo "value: ${ADATA[$key]}"
done
}
Run Code Online (Sandbox Code Playgroud)
将关联数组传递给像普通数组这样的函数不起作用:
iterateArray "$A_DATA"
Run Code Online (Sandbox Code Playgroud)
要么
iterateArray "$A_DATA[@]"
Run Code Online (Sandbox Code Playgroud) 我有一个关联操作>>.问题是它的成本线性地取决于其左操作数的大小.所以由一系列类似的n应用程序形成的表达式>>
a >> a >> a >> a >> a >> ... >> a
Run Code Online (Sandbox Code Playgroud)
它具有二次成本n,因为默认中缀运算符是左关联的.如何使它成为右关联,以便这样的表达式的成本保持线性n?
在PHP中将简单数组转换为关联数组的最快方法是什么,以便可以在isset($array[$value])?中检查值?
这是进行以下转换的最快方式:
$array = array(1, 2, 3, 4, 5);
$assoc = array();
foreach ($array as $i => $value) {
$assoc[$value] = 1;
}
Run Code Online (Sandbox Code Playgroud) associative ×10
arrays ×8
javascript ×4
php ×4
bash ×1
csv ×1
dictionary ×1
indexing ×1
jquery ×1
scala ×1
sorting ×1