相关疑难解决方法(0)

将[1,2]和[7,8]合并为[[1,7],[2,8]]的最有效方法是什么?

给定2个数组[1,2]和[7,8],合并形成[[1,7],[2,8]]的最有效方法是什么.我知道我们可以这样做:

a1 = [1,2], a2 = [7,8], a3=[];
for (var i=0; i<a1.length; i++) {
  a3.push([a1[i], a2[i]]);
}
Run Code Online (Sandbox Code Playgroud)

我正在处理一个大型阵列.所以我想看看是否有更好的方法.

javascript

4
推荐指数
2
解决办法
419
查看次数

以“压缩”方式组合两个数组-JavaScript

因此,我一直在思考可以使用JavaScript数组进行的一些小练习。我遇到了以“压缩”方式组合两个数组的想法,(arrayA[0], arrayB[0], arrayA[1], arrayB[1]...)依此类推。可能更长的阵列中剩下的任何东西都将固定在末端。

我已经搜索了stackoverflow-我要问的原因是我目前正在参加编程入门课程,因此我们并不真正了解使用JavaScript可以完成的很多“工作”。如果可能的话,希望看到使用“简单”方法的解决方案!

目前,我已经有了另一种流行的方式,但是我似乎还没掌握将数组其余部分固定到最后的最后一部分。

function alternatingMerge(array1, array2)
//this function will merge two different arrays in an alternating fashion
//i.e = array1[0], array2[0], array1[1], array2[1], array1[2], array2[2], ... , etc
{
    var mergedArray;
    var i; // while loop counter
    var j; // 
    var k; // 
    var arrayLengths;

    arrayLengths = array1.length + array2.length;
    i = 0; // 
    j = 0; // ARRAY1 COUNTER
    k = 0; // ARRAY2 COUNTER
    mergedArray = new Array(arrayLengths);
    //window.alert(mergedArray);

    while (i < arrayLengths) …
Run Code Online (Sandbox Code Playgroud)

javascript arrays

4
推荐指数
1
解决办法
3064
查看次数

如何以成对方式添加两个数组

我想添加两个具有相同长度的JavaScript数组的值来获得第三个数组,以便第三个数组的第一个值是两个第一个数组的第一个值的总和,第三个数组的第二个值array是两个第一个数组的第二个值的总和等.例如:

var array1 = [1,2,3];
var array2 = [4,1,0];
var array3 = array1 + array2;
Run Code Online (Sandbox Code Playgroud)

我想结果array3[1+4, 2+1, 3+0]= [5,3,3].

这是不一样的问题,.我想添加数字而不是制作子数组.

我知道你可以做,for(i = 0; i < array1.length; i++){array3[i] = array1[i] + array2[i]}但我想知道是否有内置代码可以做到这一点.

javascript arrays

4
推荐指数
1
解决办法
789
查看次数

将两个数组合并为一个数组javascript

我目前有两个阵列

array1 = [5, 10, 20]
array2 = [10, 20, 30]
Run Code Online (Sandbox Code Playgroud)

无论是array3还是类似的东西:

array4 = [{"a":5, "b":10}, {"a":10, "b":20}, {"a":20, "b":30}]
Run Code Online (Sandbox Code Playgroud)

我知道这可能是一个简单的问题,但我甚至不确定会调用哪个array3所以很难谷歌这个.

javascript

3
推荐指数
1
解决办法
7529
查看次数

JavaScript - 逐项组合两个数组

我有两个数组,其中第一个包含位置名称,第二个包含位置纬度和经度值.每个数组中的每个项目对应于它在另一个数组中的对应项,并且两个数组具有相同数量的项目,如下所示:

var arr1 = [['Location #1'],['Location #2']];
var arr2 = [['36.1978319','-83.02365759999999'],['38.679842','-121.7457402']];
Run Code Online (Sandbox Code Playgroud)

我需要的是两组项目的组合数组,但不是这样连接的:

var arr3 = [['Location #1','36.1978319','-83.02365759999999'],
           ['Location #2','38.679842','-121.7457402']];
Run Code Online (Sandbox Code Playgroud)

我能想到这样做的唯一方法就是使用组合for循环,但我无法正确识别语法并且不确定这是否可能......这样的事情:

for ((var a = 0; a < arr1.length; a++) && (var b = 0; b < arr2.length; b++)) {
    arr3.push(arr1[a] + ',' + arr2[b]);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用纯JavaScript来解决这个问题?

javascript arrays

3
推荐指数
1
解决办法
115
查看次数

如何在JavaScript中将两个线性数组合并为二维数组?

例如:

var array1 = ["one", "two", "three"];
var array2 = ["1", "2", "3"];
Run Code Online (Sandbox Code Playgroud)

如何将这些数组转换为var array = [["one", "1"], ["two", "2"], ["three", "3"]]

javascript arrays

2
推荐指数
1
解决办法
186
查看次数

根据数字数组对字符串数组进行排序:另一个版本(不重复!!)

我知道我上传了一个类似的问题,但我的意图在这里不同,所以这不是一个重复的问题。

我想根据另一个数字数组对数组进行排序。更具体地说,如果 1 是数字数组的第 n 个元素,我想重新排列目标数组,以便原始数组中的第 n 个元素是第一个元素,依此类推。例如;

    //Case 1
    const input = ["a", "b", "c", "d", "e"];
    const order = [2, 4, 5, 1, 3];

    intended_result: ["d", "a", "e", "b", "c"];

    //Case 2
    const input = ["a", "b", "c", "d", "e"];
    const order = [3, 1, 4, 5, 2];

    intended_result: ["b", "e", "a", "c", "d"];
Run Code Online (Sandbox Code Playgroud)

执行上述操作的 Javascript 代码是什么?有什么建议吗?

非常感谢!

javascript arrays sorting

2
推荐指数
1
解决办法
48
查看次数

如何将两个数组连接成一个二维数组?

我有两个数组.如何将它们连接成一个多维数组?

第一个数组是:

var arrayA = ['Jhon, kend, 12, 62626262662', 
              'Lisa, Ann, 43, 672536452', 
              'Sophie, Lynn, 23, 636366363'];
Run Code Online (Sandbox Code Playgroud)

我的另一个数组有值:

var arrayB = ['Jhon', 'Lisa', 'Sophie']; 
Run Code Online (Sandbox Code Playgroud)

我怎么能得到这种格式的数组?

var jarray = [['Jhon', ['Jhon, kend, 12, 62626262662']], 
              ['Lisa', ['Lisa, Ann, 43, 672536452']], 
              ['Sohphie', ['Sophie, Lynn, 23, 636366363']]]
Run Code Online (Sandbox Code Playgroud)

javascript arrays

1
推荐指数
1
解决办法
8752
查看次数

如何将2个javascript对象合并到一个数组中?

我有这样的对象:

{ "aa": "11", "bb" : "22", "cc" : "33" }
{ "aa": "text1", "bb" : "text2", "cc" : "text3" }
Run Code Online (Sandbox Code Playgroud)

我需要将这些合并成为这个数组

[ ["text1", "11"], ["text2", "22"], ["text3", "33"] ]
Run Code Online (Sandbox Code Playgroud)

是否有捷径可寻?

javascript

1
推荐指数
1
解决办法
76
查看次数

JavaScript的阵列地图原型有点关闭吗?

我正在玩JavaScript的数组原型图,我不明白为什么我得到以下值:

console.log(
    [1,2,2,5,6].map(function(a,b){ 
        return a+b; 
    })
); /*This returns [ 1, 3, 4, 8, 10 ]*/
Run Code Online (Sandbox Code Playgroud)

上述代码不应该返回[1,3,4,7,11]吗?

这是另一个代码片段,它显示数组中的元素是按顺序添加的,并且至少我相信是正确的.

console.log(
    [1,2,3,4,5,6].map(function(a,b){
        return a+b;
    })
); /*[ 1, 3, 5, 7, 9, 11 ]*/
Run Code Online (Sandbox Code Playgroud)

这只是一个奇怪的问题,更多的是为什么第一段代码似乎.

javascript node.js

1
推荐指数
1
解决办法
40
查看次数

在NodeJS中将两个数组组合为一个

我想用ExcelJS创建包含2个数据数组的Excel文件。

我可以创建Excel文件:

var Excel = require('exceljs');
var workbook = new Excel.Workbook();
var sheet = workbook.addWorksheet('My Sheet', {properties:{tabColor:{argb:'FFC0000'}}});
Run Code Online (Sandbox Code Playgroud)

我可以添加列标题:

sheet.columns = [{key:"date", header:"Date"}, {key: "quantity", header: "Quantity"}]
Run Code Online (Sandbox Code Playgroud)

这些列有2个数组:

array_date = [2018-01-04, 2018-01-06, 2018-01-08, 2018-01-09]
array_quantity = [25, 32, 54, 48]
Run Code Online (Sandbox Code Playgroud)

我想将这2个数组合并为一个数组,如下所示:

var merged = [{date:"2018-01-04", quantity:25} 
          , {date:"2018-01-06", quantity:32}  
          , {date:"2018-01-08", quantity:42} 
          , {date:"2018-01-09", quantity:48}];
Run Code Online (Sandbox Code Playgroud)

如果可以合并,则可以为每个数据添加为行:

for(i in merged){
  sheet.addRow(merged[i]);
}
Run Code Online (Sandbox Code Playgroud)

然后,我可以创建Excel文件:

workbook.xlsx.writeFile("some.xlsx").then(function() {
console.log("xls file is written.");
});
Run Code Online (Sandbox Code Playgroud)

如果订购了两个阵列,如何将它们组合在一起?另外,我想知道这是在NodeJS中创建excel文件的最佳方法吗?

arrays node.js exceljs

0
推荐指数
1
解决办法
622
查看次数

基于其他数组js对数组进行排序

我有 2 个列表/数组:

\n

[例子]:

\n
let labels =\xc2\xa0["John", "Sophie", "Hannah", "Emilia"]\n\nlet data = [10, 40, 24, 25]\n
Run Code Online (Sandbox Code Playgroud)\n

我想按数据顺序对两个数组进行排序。(每个名称与另一个数组中同一索引处的值相对应)。我会使用像这样的对象 {name: value} 但为了我的需要,它们必须是分开的(至少是结果)。我找到了一个解决方案,但我发现它不是很优雅。

\n

[期望的输出示例]:

\n
let data = [40, 25, 24, 10]\n\nlet labels = ["Sophie", "Emilia", "Hannah", "John"]\n
Run Code Online (Sandbox Code Playgroud)\n

基本上,另一个数组必须使用与数据数组相同的模式进行排序(数字升序)

\n

javascript arrays sorting

0
推荐指数
1
解决办法
306
查看次数

标签 统计

javascript ×11

arrays ×8

node.js ×2

sorting ×2

exceljs ×1