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