操作對(duì)象是數(shù)據(jù)庫一條數(shù)據(jù)
js可能如下處理:
const array = [1, 2, 4, 5, 6, 7, 8, 9, 3, 10];
const arrayMoveTo = (arr, start, end) => {
if(start > arr.length || end > arr.length || start < 1 || end < 1) {
throw new Error('');
}
const temp = arr.splice(start - 1, 1)[0];
arr.splice(end - 1, 0, temp);
return arr;
};
console.log(arrayMoveTo(array, 9, 3));
//[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
哈哈哈 今天剛好看到這種提 這個(gè)叫做旋轉(zhuǎn)數(shù)組 我發(fā)發(fā)發(fā) 很簡(jiǎn)便的代碼 忘采納哦 最近才開始玩 需要刷點(diǎn)分
var numArr = [1,2,3,4,5,6,7]
var rotate = function(nums, k) {
var a = nums.splice(-k,k)
nums.unshift(...a)
return nums
}
var rotate2 = function(nums, k) {
nums.splice(0,0,...nums.splice(-k,k))
return nums
}
核心思想是將數(shù)組依據(jù)原始位置和新位置”切割“成幾部分,調(diào)整位置后重新合并,不涉及排序。
并且,我給的方案能左移也能右移動(dòng)。
PS. 看到題目變更,目標(biāo)是數(shù)據(jù)庫,欲哭無淚!
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
/**
i: 目標(biāo)元素的index
steps: 移動(dòng)步數(shù),正數(shù)向右移動(dòng),負(fù)數(shù)向左移動(dòng)
inArray: 目標(biāo)數(shù)組
*/
function moveStepsInArray(i, steps, inArray) {
if(i<0 || i>inArray.length - 1 || steps === 0) {
return inArray;
}
var newPosition = i + steps;
if(newPosition < 0) {
newPosition = 0;
}
if(newPosition > inArray.length - 1) {
newPosition = inArray.length - 1;
}
var front = steps > 0 ? i: newPosition;
var after = steps > 0 ? newPosition: i;
var targetVal = inArray[i];
if(steps > 0) {
return inArray.slice(0, front)
.concat(inArray.slice(front + 1, after + 1))
.concat([targetVal])
.concat(inArray.slice(after + 1))
}
if(steps < 0) {
return inArray.slice(0, front)
.concat([targetVal])
.concat(inArray.slice(front, after))
.concat(inArray.slice(after + 1));
}
}
moveStepsInArray(4, -3, arr); //將arr中的第4個(gè)元素向左移動(dòng)3步
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
北大青鳥中博軟件學(xué)院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學(xué)院和江蘇省首批服務(wù)外包人才培訓(xùn)基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團(tuán)創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機(jī)構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團(tuán),成為集合面授教學(xué)培訓(xùn)、網(wǎng)
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。