jQuery技术:在javascript中将两个数组合并为单个多维数组

status_name=Array("a","b","c","b","e","f"); status_id=Array( 1, 2, 3, 4, 5, 6); 

如何组合这两个数组并构建多维数组预期的多维数组是这样的

 [["a", 1],["b", 2],["c", 3],["d", 4],["e", 5],["f", 6]] 

帮助我如何使用上面两个数组值并构建我期望的多维数组

    由于你包含了jQuery,你可以jQuery.map Linus的答案一样使用jQuery.map

     var result = [], status_name = ["a","b","c","b","e","f"], status_id = [1, 2, 3, 4, 5, 6]; result = $.map(status_name, function (el, idx) { return [[el, status_id[idx]]]; }); 

    看看你的变量名,我猜你是来自一种语言(比如PHP)。 如果是这种情况,请确保您记得使用var关键字声明局部变量,否则您将污染全局范围,并且您将在IE中遇到一些可怕的错误。

    JavaScript没有buitin方法,但您可以轻松自己编写:

     function zip(arrayA, arrayB) { var length = Math.min(arrayA.length, arrayB.length); var result = []; for (var n = 0; n < length; n++) { result.push([arrayA[n], arrayB[n]]); } return result; } 

    选择名称zip是因为执行此类操作的函数通常在其他语言中称为zip

    我尝试了自己,并提出了这个解决方案,它可能对某人有所帮助

      status_name=Array("a","b","c","b","e","f"); status_id=Array( 1, 2, 3, 4, 5, 6); 

    脚本:

      Values=[]; for (i = 0; i < status_name.length; ++i) { Values[i] =Array(status_name[i], status_id[i]); } 

     var combined = [], length = Math.min(status_name.length, status_id.length); for(var i = 0; i < length; i++) { combined.push([status_name[i], status_id[i]]); } 

    您也可以使用Array.prototype.map,但并非所有浏览器都支持:

     var combined = status_name.map(function(name, index) { return [name, status_id[index]] }); 

    尝试

     function array_combine (keys, values) { // Creates an array by using the elements of the first parameter as keys and the elements of the second as the corresponding values // // version: 1102.614 // discuss at: https://phpjs.org/functions/array_combine // + original by: Kevin van Zonneveld (https://kevin.vanzonneveld.net) // + improved by: Brett Zamir (https://brett-zamir.me) // * example 1: array_combine([0,1,2], ['kevin','van','zonneveld']); // * returns 1: {0: 'kevin', 1: 'van', 2: 'zonneveld'} var new_array = {}, keycount = keys && keys.length, i = 0; // input sanitation if (typeof keys !== 'object' || typeof values !== 'object' || // Only accept arrays or array-like objects typeof keycount !== 'number' || typeof values.length !== 'number' || !keycount) { // Require arrays to have a count return false; } // number of elements does not match if (keycount != values.length) { return false; } for (i = 0; i < keycount; i++) { new_array[keys[i]] = values[i]; } return new_array; 

    参考
    - 结合
    - arrays组合

    使用jQuery.map

     var status_name = ["a","b","c","b","e","f"], status_id = [1,2,3,4,5,6], r = []; r = $.map(status_name, function(n, i) { return [[n, status_id[i]]]; }); 

    注意return [[n, status_id[i]]]return [n, status_id[i]] 。 使用前者将导致2darrays,而使用后者将导致1darrays。

    需要了解更多jQuery教程分享在javascript中将两个数组合并为单个多维数组,都可以关注jQuery技术分享栏目---计算机技术网(www.ctvol.com)!

      以上就是jQuery教程分享在javascript中将两个数组合并为单个多维数组相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/981417.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐