js 数组array 对象 小数点后2位 toFixed() 替换 二维数组 替换键值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 数组array 对象 小数点后2位 toFixed() 替换 二维数组 替换键值相关的知识,希望对你有一定的参考价值。
有一个对象:
obj =c:aa:[1,2,3,4],bb:[1.1,2.2,3.3],cc:[1.11,2.22,3.33]
现在想把里面的数字全部保留小数点后2位,请问各位该怎么做?
obj =
c:
aa: [1, 2, 3, 4],
bb: [1.1, 2.2, 3.3],
cc: [1.11, 2.22, 3.33]
;
let c: aa, c: bb, c: cc = obj;
let foo = fn =>
if (Array.isArray(fn))
for (let i = 0; i < fn.length; i++)
foo(fn[i]);
else
let x = fn.toFixed(2);
console.log(x);
;
let a = aa.concat(bb, cc);
foo(a);
</script>
代码如上,首先用解构赋值把对象里面的数字全部取出来,之后用for方法把获得的所有对象的值依次取出来,之后保留两位小数,输出的x就是处理后的 参考技术B //转换函数
function myfixed(obj)
var type = Object.prototype.toString.call(obj);
if (type === '[object Number]')
return obj.toFixed(2);
if (type === '[object String]')
var value = +obj;
return isNaN(value) ? obj : value.toFixed(2);
if (type === '[object Array]')
return obj.map(function (value)
return myfixed(value);
);
if (type === '[object Object]')
for (var key in obj)
obj[key] = myfixed(obj[key]);
return obj;
//测试(楼主的例子不够典型,为了加强测试,构造了更复杂的结构)
var obj =
c:
aa: [1, 2, 3, 4],
bb: [1.1, 2.2, 3.3],
cc: [1.11, 2.222, 3.33]
,
x: [1, 1.5, 1.55, 1.564, 1.565, '2.566', true, null, x: [1, 2, 3],[1, 2, 3]]
;
var result = myFixed(obj);
console.log(result);本回答被提问者采纳
js的数组对象
array数组
创建方式:1、arr1=[1,"hello",[11,2],"name":"lin"
2、arr2=new Arry()
3、arr3=new Arry(1,"world",true,[1,2,3]
concat添加
数组排序 reverse()反转 sort()最高位排序
splice() 删除子数组
push pop 栈操作,后进先出,在数组末位增删
shift unshift 栈操作,后进先出,在数组首位增删
//-------------------------------Array----------------------------- // //创建方式 // var arr1=[1,"hello",[11,2],"name":"Yuan"]; // var arr2=new Array(3); // var arr3=new Array(1,"world",true,[1,2,3]); // // console.log(typeof arr1); // console.log(typeof arr2); // console.log(typeof arr3); // // // 注意: var arr4=new Array(10) 10是size // console.log(arr1.length); //Array对象的方法 //join方法 // var arr5=[1,2,3,4,"1234"]; // var ret=arr5.join("**"); // console.log(ret); // console.log(typeof ret) //toString() // var ret2=arr1.toString(); // console.log(ret2); // console.log(typeof ret2); //concat() // var arr5=[1,2,3]; // var ret3=arr5.concat([5,66]); // // console.log(ret3); // console.log(typeof ret3); //reverse // var arr6=[23,45,37,88]; // var arr6=[10,45,100,88]; // // console.log(arr6.reverse()); // console.log(arr6.sort()) ; //10,45,88,100 // // function f(a,b) // // if(a>b) // return 4 // // else if(a<b) // return -4 // // else // return 0 // // // // function f2(a,b) // return a-b // // // console.log(arr6.sort(f2)) //push pop:栈操作 // var arr7=[1,2,3]; // arr7.push([7,8,0]); // arr7.push("hello",5); // console.log(arr7); // console.log(arr7.length); // // console.log(arr7.pop()); // console.log(arr7.pop()); // console.log(arr7.length); //shift unshift: 栈操作 // var arr8=[4,5,6]; // arr8.unshift([11,222]); // arr8.unshift(true,"yes");//[true,"yes",[11,22],4,5,6] // // arr8.shift();//["yes",[11,22],4,5,6] // console.log(arr8); // console.log(arr8.length)
以上是关于js 数组array 对象 小数点后2位 toFixed() 替换 二维数组 替换键值的主要内容,如果未能解决你的问题,请参考以下文章