Javascript 按值对数组排序并放在中间
很快的问题,, 我想按特定值对数组进行排序,并将其始终放在中间。 例如如果我的数组是:Javascript 按值对数组排序并放在中间,javascript,jquery,arrays,arraylist,numbers,Javascript,Jquery,Arrays,Arraylist,Numbers,很快的问题,, 我想按特定值对数组进行排序,并将其始终放在中间。 例如如果我的数组是: myarr = [1,2,3,4,5]; 函数middlezarr(myarr,2)应返回以下数组: result [5,1,2,3,4] 并在偶数阵的情况下找到最佳条件 myarr = [1,2,3,4,5,6,7,8]; result [7,8,1,2,3,4,5,6]; 我怎么能这样做?有人能帮我吗?首先,你需要有一个数组的大小,并找到一个要放在中间的数字的位置 如果,, n=数组的大
myarr = [1,2,3,4,5];
函数middlezarr(myarr,2)应返回以下数组:
result [5,1,2,3,4]
并在偶数阵的情况下找到最佳条件
myarr = [1,2,3,4,5,6,7,8];
result [7,8,1,2,3,4,5,6];
我怎么能这样做?有人能帮我吗?首先,你需要有一个数组的大小,并找到一个要放在中间的数字的位置 如果,, n=数组的大小 l=要将其置于中间的数字的位置
如果n/2>l,则顺时针移动数字,否则逆时针移动数字。通过将“中间”数字的索引与数组的长度进行比较,然后移动(并推动)直到它们相等 我通过以下方式实现了它:
function middlelizeArray(array, middle) {
var goal = Math.trunc(array.length/2);
while(array.indexOf(middle) != goal) {
array.push(array.shift());
}
return array;
}
这也可以直接添加到阵列原型中。这将允许您只说myArray.middleze(2)代码>
这将是这样做的:
Array.prototype.middlelize = function(middle) {
var goal = Math.trunc(this.length/2);
while(this.indexOf(middle) != goal) {
this.push(this.shift());
}
return this;
}
您尝试了什么?为什么要这样做?1)在请求帮助之前,您需要向我们展示您尝试了什么。2) 甚至不要去想代码。想象一下,你有一堆桶,桶上有一张纸,上面写着一个数字。你会怎么分类呢?用几个不同的数字试试这个过程,你就有了你的算法。把它翻译成代码,你就完成了。如果我想用Obj做同样的事情?例如我想订购一份列有保险单的保险单。。。所以我的结构是123456我如何订购?这不起作用$('ul')。查找('li')。middlelize(7);