gpt4 book ai didi

javascript - 在多个数组中搜索一个字符串,然后设置一个 var - jQuery

转载 作者:行者123 更新时间:2023-11-29 10:23:18 25 4
gpt4 key购买 nike

我希望根据字符串所在的数组设置一个变量。

例如:

var primary   = ["red", blue", "yellow"];
var secondary = ["orange", "purple", "green"];

然后检查“purple”并返回它在“secondary”数组中并将其分配给一个变量以备后用。

jQuery 或 Javascript 都可以。

最佳答案

不确定要分配给变量的内容,所以我只是使用警报来说明结果

var plen = primary.length;

var idx = $.inArray( 'purple', primary.concat( secondary ) );

if( idx === -1 ) {
alert( 'not found' );
} else if( idx < plen ) {
alert( idx + ' in primary' );
} else {
alert( (idx - plen) + ' in secondary' );
}

示例: http://jsfiddle.net/S9WL6/


然后你可以把它变成一个可重用的函数:

function inArrays( val, arr1, arr2 ) {
var len1 = arr1.length;

var idx = $.inArray( val, arr1.concat( arr2 ) );

var ret = {index:idx,array:null};

if( idx > -1 ) {
if( idx < len1 ) {
ret.array = arr1;
} else {
ret.array = arr2;
ret.index -= len1;
}
}
return ret;
}

inArrays( 'purple', primary, secondary );

编辑:或者将其变成可以接受可变数量数组的函数。

示例: http://jsfiddle.net/5pZUQ/

var first = ["red", "blue", "yellow"];
var second = ["orange", "purple", "green"];
var third = ["brown", "black", "white"];

function inArrays(val) {
var arrays = Array.prototype.slice.call(arguments, 1);

var len = 0;
var i = 0;

var idx = $.inArray(val, [].concat.apply([], arrays));

var ret = {
index: idx,
array: null
};

if (idx > -1) {
do {
ret.array = arrays[i];
ret.index = idx - len;
len += arrays[i].length;
i++;
} while (idx >= len)
}
return ret;
}

console.log( inArrays('white', first, second, third) );

关于javascript - 在多个数组中搜索一个字符串,然后设置一个 var - jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7109708/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com