js把一个数组里面超过200的数据,处理成200,小于100的数据处理成100,并保留原数据;
如处理前的数据[20,100,150,200,250]
处理成:[{value:变100,num:原数据20},{value:100,num:100},{value:150,num:150},
{value:200,num:200},{value:变200,num:原数据200}]
可以使用 map 函数,对数组中的每一项进行遍历,判断当前项是否超过200或小于100,如果是,则赋值为200或100,然后把原数据和处理后的数据以键值对的形式存入一个新的对象中,并返回该对象。示例代码如下:
let arr = [20, 100, 150, 200, 250];
let newArr = arr.map(item => {
let value = item;
if (item > 200) {
value = 200;
} else if (item < 100) {
value = 100;
}
return {
value: value,
num: item
}
});
console.log(newArr);
1、代码如下【望给个采纳哈】
<script type="text/javascript">
var newData = []
var arr = [20, 100, 150, 200, 250]
for (var i = 0; i < arr.length; i++) {
var numValue = arr[i]
var newValue = numValue
if (numValue > 200) {
newValue = 200;
}
else if (numValue < 100) {
newValue = 100;
}
newData.push({
value: newValue,
num: numValue
})
}
console.log('原数据', arr)
console.log('新数据', newData)
</script>