我想按星期订单更新数组
例如:public function handle($request, Closure $next)
{
if ($this->auth->check()) {
return redirect('/'); //change this part to anywhere you wish to be redirected to
}
return $next($request);
}
现在我有了另一个新阵列,我可以通过按钮添加一周中不同的工作日,例如
var weekDays = ["Mon","Tue","Wed","Thu","Fri","Sat","Sun"];
现在您可以看到输出将是随机顺序类似var newArry = [];
newArry.push("Fri");
newArry.push("Mon");
newArry.push("Sat");
newArry.splice(1, 1); //remove a day example
我希望保持数组的顺序,如原始['Fri', 'Mon', 'Sat']
如果要将其转换为数字0-6,请始终将其输入订单从0-1-2-3-4-5-6
我曾考虑使用以下weekDays
,但有时候它仍然会破坏案例,我的头脑真的很痛苦,试图完善它。
答案 0 :(得分:0)
使用括号表示法,只需将项目直接放在应有的位置,使用delete
将其删除
var newArray = [];
// adding an item to newArray
newArray[weekDays.indexOf(item)] = item;
// removing an item from newArray
delete newArray[idx];
// or
delete newArray[weekDays.indexOf(item)]
例如,如果您要添加"Wed"
newArray[weekDays.indexOf('Wed')] = 'Wed';
newArray; // [undefined × 2, "Wed"]
如果你期望这么做,你可以加快一点,如果你写一本字典,
var d = {};
weekDays.forEach(function (e, i) {d[e] = i;});
现在它只是一个对象循环
newArray[d[item]] = item;
delete newArray[d[item]];
答案 1 :(得分:0)
假设您不希望以稀疏数组结束,您可以定义自己的排序函数,并在添加任何内容后简单地求助数组。像这样:
function sortByDay(a,b) {
var order = {
Mon: 0,
Tue: 1,
Wed: 2,
Thu: 3,
Fri: 4,
Sat: 5,
Sun: 6
};
return order[a] - order[b];
}
var arr = ['Fri', 'Mon', 'Sat'];
arr.sort(sortByDay);
// ['Mon', 'Fri', 'Sat'];