我的airbnb 风格指南告诉我我应该在下面的任务中使用数组解构。
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)
所以我使用 skipping values 像这样编写它,以获得第二个元素。
const splittedArr = [1, 2, 3, 4, 5]
const [, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[1];
Run Code Online (Sandbox Code Playgroud)
但是例如当我有一个更高的指数要破坏时
const splittedArr = [1, 2, 3, 4, 5]
const result = splittedArr[5];
Run Code Online (Sandbox Code Playgroud)
这意味着我必须像这样写
const splittedArr = [1, 2, 3, 4, 5]
const [,,,, result] = splittedArr;
Run Code Online (Sandbox Code Playgroud)
const splittedArr = …Run Code Online (Sandbox Code Playgroud)在我的应用程序(React + Redux + axios + redux-thunk + Typescript)中,当我调用 API、更改数据库中的项目并在表中显示当前更改的状态时,我遇到了一种情况。?所以,它看起来像:
const changeItem = () => changeItemState(item.id).then(getItem(item.id));
这两个操作(changeItemState和getItem)都是从减速器文件中导入的。? 问题是,在后端站点更改项目过程花费的时间太长。因此,我重新加载表(调用 api 以获取项目 - getItem(item.id))但后端更改过程仍在进行中,因此我收到旧状态。经过100-300毫秒我可以再次查询项目(例如刷新页面),并获得项目的新状态。但我不想手动完成。我想在后端准备好我的项目以显示新状态后重新加载表。
问题是 - 如何延迟获取项目操作?是否有任何前端模式?我想避免使用这样的“setTimeout()”方法(我认为这不是理想的解决方案):
const changeItem = () => changeItemState(item.id).then(setTimeout(function(){ getItem(item.id); }, 300));,
我只使用 n 来实现它,因为无论如何低都会是 0,但是谈论“正确的算法方式”是否有必要存在高和低变量?我的实现:
public class ArrayBinarySearch {
static int binarySearch(int[] a, int n, int key) {
int mid = n / 2;
if (key >= a[mid]) {
for (int i = mid; i < n; i++) {
if (a[i] == key)
return i;
}
}
if (key < a[mid]) {
for (int i = 0; i < mid; i++) {
if (a[i] == key)
return i;
}
}
return -1;
}
public static void main(String[] args) {
int[] a …Run Code Online (Sandbox Code Playgroud)