Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将一个单位数整数数组转换为2位数或更多_Javascript_Arrays - Fatal编程技术网

Javascript 如何将一个单位数整数数组转换为2位数或更多

Javascript 如何将一个单位数整数数组转换为2位数或更多,javascript,arrays,Javascript,Arrays,假设我有一个单位数整数数组 [1,0,2,3,6,7,9,8] 我如何将它们转换成一个数组,比如说,2位整数 像这样: [10, 23, 67, 98] 您可以使用Array.from()创建一个具有原始数组长度的新数组。length/块大小(在本例中为2)。使用Array.slice()提取每个块,连接并转换回数字: const chunkAndJoin=(chunkSize,arr)=> from({length:Math.ceil(arr.length/chunkSize)},(\u

假设我有一个单位数整数数组

[1,0,2,3,6,7,9,8]
我如何将它们转换成一个数组,比如说,2位整数

像这样:

[10, 23, 67, 98]

您可以使用
Array.from()
创建一个具有原始数组长度的新数组。length/块大小(在本例中为2)。使用
Array.slice()
提取每个块,连接并转换回数字:

const chunkAndJoin=(chunkSize,arr)=>
from({length:Math.ceil(arr.length/chunkSize)},(\ux,i)=>
编号(arr.slice(i*chunkSize,(i+1)*chunkSize.join(“”))
)
常数arr=[1,0,2,3,6,7,9,8]
const result=chunkAndJoin(2,arr)

console.log(result)
您可以通过使用迭代索引将
Array.prototype.reduce()
和concat数字用作字符串:

const initial = [1,0,2,3,6,7,9,8];
const nextArr = initial.reduce((acc, value, index) => {
  if (index % 2 !== 0) return acc;
  acc.push(Number(String(value) + String(initial[index + 1])));
  return acc;
}, []);

console.log(nextArr);
您可以通过检查累积数组中的最后一项是否小于10(然后应该追加该项),使用,否则,您可以将其添加到数组中

见下例:

const arr=[1,0,2,3,6,7,9,8];
常数res=arr.reduce((acc,n)=>{
let last=附件长度-1;
如果(根据[上一次]<10){
acc[last]=acc[last]*10+n;
}否则{
acc.push(n);
}
返回acc;
}, []);

控制台日志(res)您可以减少数组并将第n个值作为索引

这种方法适用于分组数字的每个计数

const
组=(数组,数字)=>array.reduce((r,v,i)=>{
var j=数学楼层(i/位);
r[j]=(r[j]| | 0)*10+v;
返回r;
}, [])
log(组([1,0,2,3,6,7,9,8,2]);
log(组([1,0,2,3,6,7,9,8,9,3]);
log(组([1,0,2,3,6,7,9,8,4])

.as控制台包装{max height:100%!important;top:0;}
我不知道javascript:D,但类似这样的东西

var a = [1,0,2,3,6,7,9,8];
var b = [];
var length = a.length%2 == 0 ? a.length : a.length -1;
for(var i = 0,j=0; i < length; i++,j++){
    b[j] = a[i] + "" + a[++i];
}

var a=[1,0,2,3,6,7,9,8];
var b=[];
变量长度=a。长度%2==0?a、 长度:a.长度-1;
对于(变量i=0,j=0;i

另外,如果您的阵列长度为%2!=0,则此代码将跳过最后一个元素)

您可以使用normal for循环,并将
i
增加
2
&乘以10

let array=[1,0,2,3,6,7,9,8]
设finalArray=[];
for(设i=0;iconsole.log(finalArray)
到目前为止您尝试了什么?本周我刚开始学习javascript,所以这是最容易理解的,谢谢!