Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.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
在另一个数组中排序一个数组,并用0或空字符串javascript替换不匹配的数据_Javascript_Arrays_Sorting - Fatal编程技术网

在另一个数组中排序一个数组,并用0或空字符串javascript替换不匹配的数据

在另一个数组中排序一个数组,并用0或空字符串javascript替换不匹配的数据,javascript,arrays,sorting,Javascript,Arrays,Sorting,我有一个数组,它定义了在图表中绘制数据的顺序 数据来自另一个数组。我有一个函数,可以根据订单数组对数据数组进行排序,但是如果数据在特定项或订单数组中确实有数据,则需要添加0或空字符串 我的例子是: 订单数组: const tooltipsLabel = [ "02 Abril 2021", "03 Abril 2021", "04 Abril 2021", "05 Abril 2021", &qu

我有一个数组,它定义了在图表中绘制数据的顺序

数据来自另一个数组。我有一个函数,可以根据订单数组对数据数组进行排序,但是如果数据在特定项或订单数组中确实有数据,则需要添加0或空字符串

我的例子是:

订单数组:

const tooltipsLabel = [
  "02 Abril 2021",
  "03 Abril 2021",
  "04 Abril 2021",
  "05 Abril 2021",
  "06 Abril 2021",
  "07 Abril 2021",
  "08 Abril 2021"
]
数据阵列:

const dayData = {
     01 Abril 2021: (2) [{…}, {…}],
     04 Abril 2021: (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}],
     05 Abril 2021: (3) [{…}, {…}, {…}],
     06 Abril 2021: (7) [{…}, {…}, {…}, {…}, {…}, {…}, {…}],
     07 Abril 2021: (3) [{…}, {…}, {…}],
     08 Abril 2021: (6) [{…}, {…}, {…}, {…}, {…}, {…}],
   }
如您所见,没有02和03 Abril 2021的数据

我的实际排序功能如下:

const mapOrder = (array, order, key) => {
            array.sort(function (a, b) {
                var A = a[key],
                    B = b[key];

                if (order.indexOf(A) > order.indexOf(B)) {
                    return 1;
                } else {
                    return -1;
                }
            });
            console.log(array);
            return array;
        };
我这样调用函数:

mapOrder(Object.entries(dayData),tooltipsLabel,day[0]);
它对我的数据进行排序,但我需要0或空,用于02和03 Abril 2021,就像一个附加点一样,我只需要数组中每个日期的数据长度


谢谢你的帮助。

谢谢你的回答。数据是我在两个数组中写入的,我的预期输出类似于[08 Abril 2021:6,07 Abril 2021:3,06 Abril 2021:7,05 Abril 2022:3,04 Abril 2021:7,03 Abril 2021:0,02 Abril 2021:0,01 Abril 2021:2]。如果答案可以是[6,3,7,3,7,0,0,2],保持顺序,但只有长度才是理想的。您只需根据需要对
tooltipsLabel
数组进行排序,然后
map()
it从
dayData
数组中检索元素<代码>常量结果=tooltipsLabel.map(日期=>dayData[day]?。长度??0)吉米·蒙特斯,@pilchard-answer解决了你的问题吗?@Nur-yes,它完全可以满足我对它的需求,感谢@pilchard为你提供的时间和你的精彩回复。