原数组:
["100", "100", "2.3", "2.4", "101", "101", "3.6", "3.7"]
["100", "100", "2.3", "2.4", "101", "101", "3.6", "3.7",...."102","102".......每隔2个小数点就会有重复的,以此类推]
怎么改装成如下:
[
{
type : "100",
a : "2.3",
b : "2.4"
},
{
type : "101",
a : "3.6",
b : "3.7"
}
]
100跟101 都重复了
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
先给你画个流程图示意,看你写得出来不
给个比较简短的示例代码,注解里有写步骤123是什么:
以下给个直觉用for语句的示例,自订弹性会比较高,JS中调用函数自然是花费高,所以for语句的效能会比较好,能好到多少就要视情况测试,当然代码量会多些。步骤与上面类似:
实际上用for语句,步骤2与3可以合在一起:
@老咸鱼 使用的es6 方法最简单
es6 太高端了,我给个es5的,思路较直观的代码
var arr = [1,2,3,1,2,1,2,3];
for(var i=0;i<arr.length;i++){
}
这样就好了
其中
e % 1可以用来判断是否为整数,整数返回 0,小数不返回 0。后面的a.indexOf(e),因为这只会返回 e 元素在 数组 a 中第一次出现的位置,所以可以用a.indexOf(e) === i来判断是否需要 filter用 ES5 写就是
后面的事儿就很简单了,楼上有朋友提到先弄成二维数组,个人觉得不用。。
前提是你的数据本身就是每 x 个一组。。如果不是的话,至少你得有个判断条件,比如,整数或者怎样。。
我的实现:
结果如图: