我想得到一個沒有作為引數的元素的陣列切片,但是切片應該是四舍五入的。請參閱示例以獲得更好的理解。
type Positions = "top" | "right" | "bottom" | "left"
const fn = (place : Positions) => {
const POSITIONS = ["top", "right", "bottom", "left"]
return getSlice(positions, place)
}
fn("top") // -> ["right","bottom", "left"]
fn("right") // -> ["bottom", "left", "top"]
fn("bottom") // -> ["left", "top", "right"]
fn("right") // -> ["bottom", "left", "top"]
應該適用于任何陣列長度
uj5u.com熱心網友回復:
您可以從要對陣列進行切片的位置獲取索引。
然后使用slice創建一個從右到左的兩個陣列,然后將它們連接起來。
const fn = (place) => {
const positions = ["top", "right", "bottom", "left"];
const index = positions.indexOf(place);
return positions.slice(index 1).concat(positions.slice(0, index));
};
console.log(fn("top")); // ["right","bottom", "left"]
console.log(fn("right")); // ["bottom", "left", "top"]
console.log(fn("bottom")); // ["left", "top", "right"]
console.log(fn("right")); // ["bottom", "left", "top"]
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/495638.html
標籤:javascript 数组 算法
