我在测试splice迭代数组时是如何工作的,并且不明白为什么0留在列表中?
var array = [2, 5, 9, 14, 0, 1, 3, 6, 7];
for (var i = 0; i < array.length; i++) {
if (array[i]%2 == 0) {
array.splice(i,1);
}
}
//0 % 2 == 0 is true, and yet
//array = [5, 9, 0, 1, 3, 7]
Run Code Online (Sandbox Code Playgroud) 对不起,另一个"Java通用方法不适用"的问题.我想知道我的理解中缺少什么:
List<E>是Collection<E>
- >含义List<String>的子类型,是子类型Collection<String>
假设A扩展B,List<A>是不是一个亚型List<B>
- >但在这种情况下,只有一种类型T(或String),所以我看不到替代原则如何解释我的问题?
问题代码:
private <T, K> void genericAddToMapOfLists(HashMap<K, Collection<T>> mapOfLists,
K key, T value) {
if (mapOfLists.containsKey(key)) {
mapOfLists.get(key).add(value);
} else {
List<T> newList = new ArrayList<T>();
newList.add(value);
mapOfLists.put(key, newList);
}
}
private void parseToFruitList(HashMap<String, List<String>> fruit_colors,
String fruitName) {
String color = "";
genericAddToMapOfLists(fruit_colors, fruitName, color);
}
Run Code Online (Sandbox Code Playgroud)
错误:
The method genericAddToMapOfLists(HashMap<K,Collection<T>>, K, T) in the type MyGroceryStore is …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个至少有两级子菜单的水平菜单。所有子菜单都是垂直的。
Submenu1 将直接位于其父级下方。所有后续子菜单级别 (2+) 应位于其父级的右侧。
我刚刚开始学习如何使用 jQuery 菜单,他们似乎没有对此进行自定义。我不知道如何处理这个......我尝试和失败,调用.menu()上$("#myMenu .level1")。
我的问题是 - 如果有人能指出我上面所说的如何制作菜单的正确方向,我将不胜感激。
Javascript 片段
<script>
$(function() {
$("#myMenu").menu({
position: {
my: "left top",
at: "left bottom"
}
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
HTML 片段
<ui id="myMenu">
<li class="level1">
<a href="#">Item 1</a>
<ul>
<li class="level2">
<a href="#">Item 1</a>
<ul>
<li class="level3">
<a href="#">Item 1</a>
</li>
</ul>
</li>
</ul>
</li>
Run Code Online (Sandbox Code Playgroud)
更新:JSbin
我有以下命令$(perl -e 'use POSIX;print strftime "%d-%^b-%Y",localtime time-86400;')适用于Red Hat Linux机箱,但不适用于Sun Solaris 9机箱.
问题1:从我在这里读到的,'^'由glibc提供......这是正确的吗?
问题2:如何找出为什么它不能在Solaris机箱上运行?(最终,我如何使它工作?)