我有一个像这样的对象:
var obj = {
key1: "apple",
key2: true,
key3: 123,
.
.
.
key{n}: ...
}
Run Code Online (Sandbox Code Playgroud)
因此obj可以包含任意数量的命名键,但值必须都是string,bool或number.
如何obj在TypeScript中声明接口的类型?我可以声明一个联合类型或类似的关联数组(或可变参数元组)吗?
设S是PHP中的关联数组,我需要从中检索并提取第一个元素,包括值和键.
我会用
value1=array_pop(S);
Run Code Online (Sandbox Code Playgroud)
但它只给了我价值.
我可以用
K=array_keys(S);
key1=array_pop(K);
value1=array_pop(S);
Run Code Online (Sandbox Code Playgroud)
但它很复杂,因为它需要有两份相同的数据.由于数组本身是数组数组中的元素,因此令人困惑.在提取它时,必须有一种更优雅的方式来读取这对键/值.
比如说,您只是查询了一个数据库,并收到了这个2D数组.
$results = array(
array('id' => 1, 'name' => 'red' , 'spin' => 1),
array('id' => 2, 'name' => 'green', 'spin' => -1),
array('id' => 3, 'name' => 'blue' , 'spin' => .5)
);
Run Code Online (Sandbox Code Playgroud)
我经常发现自己写这样的循环.
foreach($results as $result)
$names[] = $result['name'];
Run Code Online (Sandbox Code Playgroud)
我的问题是,有没有办法在不使用循环的情况下获取此数组$名称?使用回调函数计为使用循环.
以下是获取每个字段的更一般示例.
foreach($results as $result)
foreach($result as $key => $value)
$fields[$key][] = $value;
Run Code Online (Sandbox Code Playgroud) 在ActionScript 3中,是否有任何方便的方法来确定关联数组(字典)是否具有特定键?
如果缺少密钥,我需要执行其他逻辑.我可以抓住undefined property异常,但我希望这可以成为我的最后手段.
在PHP中,我有一个像这样的关联数组
$a = array('who' => 'one', 'are' => 'two', 'you' => 'three');
Run Code Online (Sandbox Code Playgroud)
如何编写一个foreach遍历数组并访问数组键和值的循环,以便我可以操作它们(换句话说,我将能够获取who并one分配给两个变量$key并且$value?
我正在尝试像这样扩展一个关联数组,但PHP不喜欢它.
我收到此消息:
Warning: array_push() expects parameter 1 to be array, null given
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
$newArray = array();
foreach ( $array as $key => $value ) {
$array[$key + ($value*100)] = $array[$key];
unset ( $array[$key] );
array_push ( $newArray [$key], $value );
}
//}
print_r($newArray);
Run Code Online (Sandbox Code Playgroud)
我哪里做错了?
我有一个非常简单的D3示例,首先将数据读入关联数组,然后将其显示在条形图中.
我似乎无法使用此方法显示任何内容.相反,我必须在两者之间插入一个任务:将数据读入关联数组,将数据复制到一个简单数组中,然后使用简单数组显示条形图.
chart.selectAll("div")
.data(genreAssociative)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
Run Code Online (Sandbox Code Playgroud)
以上不起作用.
genreSimple = [];
for (var genre in genreAssociative) genreSimple.push(genreAssociative[genre]);
chart.selectAll("div")
.data(genreSimple)
.enter().append("div")
.style("width", function(d) { return d * 10 + "px"; })
.text(function(d) { return d; });
Run Code Online (Sandbox Code Playgroud)
以上呢; 使用简单的数组作为中介.是否有一种特殊的方法来迭代关联数组而不是标准数组?
我得到以下输出:
Pushkin - 100500
Gogol - 23
Dostoyevsky - 9999
Run Code Online (Sandbox Code Playgroud)
以下脚本的结果如下:
for k in "${!authors[@]}"
do
echo $k ' - ' ${authors["$k"]}
done
Run Code Online (Sandbox Code Playgroud)
我想要的是得到这样的输出:
Pushkin - 100500
Dostoyevsky - 9999
Gogol - 23
Run Code Online (Sandbox Code Playgroud)
这意味着关联数组中的键应按值排序.有一个简单的方法吗?
有没有办法在bash中获取关联数组的大小:
declare -A array
Run Code Online (Sandbox Code Playgroud)
......没有迭代元素?
感兴趣的大小是:元素的数量和它消耗的内存量?
Awk为数组处理提供关联索引.可以迭代1维数组的元素:
例如
for(index in arr1)
print "arr1[" index "]=" arr1[index]
Run Code Online (Sandbox Code Playgroud)
但是这种二维数组怎么做呢?下面给出的那种语法有用吗?
for(index1 in arr2)
for(index2 in arr2)
arr2[index1,index2]
Run Code Online (Sandbox Code Playgroud) arrays ×4
php ×4
bash ×2
array-push ×1
awk ×1
d3.js ×1
flash ×1
javascript ×1
key ×1
linux ×1
sorting ×1
tuples ×1
typescript ×1
unions ×1