Javascript 如果是数组中的字符串,如何将值加倍

Javascript 如果是数组中的字符串,如何将值加倍,javascript,arrays,Javascript,Arrays,我试图找到这个值的一半,如果ID是偶数,而对于每个ID是奇数,它会加倍 下面是我为数字(ID)所做的一个示例 var数=[8,12,5,2,5,7]; var CollectionNumber={ 原始编号:编号, doubledNumber:numbers.map(函数(n){返回n*2;}) }; 控制台日志(收集编号)推测如果它是一个字符串,那么将该字符串连接到它本身,如果长度为奇数,则获取该字符串的前半部分,您可以使用以下命令 如果这是家庭作业(正如我所怀疑的那样),那么真正的教训就是

我试图找到这个值的一半,如果ID是偶数,而对于每个ID是奇数,它会加倍

下面是我为数字(ID)所做的一个示例

var数=[8,12,5,2,5,7];
var CollectionNumber={
原始编号:编号,
doubledNumber:numbers.map(函数(n){返回n*2;})
};

控制台日志(收集编号)推测如果它是一个字符串,那么将该字符串连接到它本身,如果长度为奇数,则获取该字符串的前半部分,您可以使用以下命令

如果这是家庭作业(正如我所怀疑的那样),那么真正的教训就是获得清晰明确的需求

var数据=[
{ID:1},
{ID:2},
{ID:33},
{ID:66},
{ID:“abc”},
{ID:“xyz”},
{ID:“A1”}
]
var modded=data.map(函数(o){
//设置要返回的变量
var retval=o.ID
//如果是一个数字
if(o.ID的类型==“编号”){
//如果相等,则减半,否则加倍
retval=o.ID%2==0?o.ID/2:o.ID*2;
//否则
}否则{
//如果字符串长度为偶数,则获取字符串的前半部分,否则将字符串添加到其自身
retval=o.ID.length%2==0?o.ID.substring(0,o.ID.length/2):o.ID+o.ID
}  
返回返回;
});

控制台日志(moded)请添加您想要的结果。什么是字符串的一半或两倍,或者任何不是数字的内容?对于奇数或偶数,当涉及到任何不是数字的东西时,这都是毫无意义的。老实说,对于字符串值,我不确定如果长度是偶数或奇数,值的两倍或一半是什么。那么我们真的帮不了你lol。我们都可以想出一种不同的方法来将字符串减半或加倍。也许分享一下你想要达到的目标(为什么你要把字符串减半和加倍?),然后有人可能会帮上忙。试试
.map((value)=>isNaN(value)?value:value%2==0?value/2:value*2)
这就是我想要的。下次我肯定会问更多的细节。非常感谢。