我有这个数组:
var arr = [['blue','143'], ['red', '256'], ['white', '321']];
现在我需要检查嵌套数组的red
索引中是否存在0
?
JQuery $.inArray(value, array)
中有一个方法,在这种情况下可以没问题。但我不知道如何使用它来搜索这些项目:
var arr = [['blue','143'], ['red', '256'], ['white', '321']];
// these ^ ^ ^
我该怎么做?
我想要这个:
var word = 'red'; // true
var word = 'black'; // false
var word = 'blue'; // true
var word = 'afwqwe'; // false
答案 0 :(得分:1)
你可以这样做:
var arr = [['blue','143'], ['red', '256'], ['white', '321']];
var search = function(term) {
var result = false;
for(var i=0; i<arr.length; i++) {
for(var j=0; j<arr[i].length; j++) {
if(term == arr[i][j]) {
result = true;
}
}
}
return result;
}
var word = search('red'); // true
var word = search('black'); // false
var word = search('blue'); // true
var word = search('afwqwe'); // false
没有indexOf
,这有点不那么优雅,在大型阵列上可能会很慢,但它会起作用!
答案 1 :(得分:1)
您可以使用Array#some()
:
some()
方法测试数组中的某个元素是否通过了由提供的函数实现的测试。
function check(array, value) {
return array.some(function (a) {
return a[0] === value;
});
}
var arr = [['blue', '143'], ['red', '256'], ['white', '321']];
document.write(check(arr, 'red') + '<br>'); // true
document.write(check(arr, 'black') + '<br>'); // false
document.write(check(arr, 'blue') + '<br>'); // true
document.write(check(arr, 'afwqwe') + '<br>'); // false
没有迭代器的版本:
function check(array, value) {
var i;
for (i = 0; i < array.length; i++) {
if (array[i][0] === value) {
return true;
}
}
return false;
}
var arr = [['blue', '143'], ['red', '256'], ['white', '321']];
document.write(check(arr, 'red') + '<br>'); // true
document.write(check(arr, 'black') + '<br>'); // false
document.write(check(arr, 'blue') + '<br>'); // true
document.write(check(arr, 'afwqwe') + '<br>'); // false
答案 2 :(得分:1)
这是一个可以进行测试的函数:
doc_log = math.log(n_doc)
local_weight = np.log(np_freq_matrix_ordered + 1)
for col_i, np_p_ij_matrix_sum_i in enumerate(np_p_ij_matrix_sum):
local_weight_j = local_weight[:, col_i]
ind = np_p_ij_matrix[:, col_i]>0
local_weight_j[ind] *= 1 + np_p_ij_matrix_sum_i[ind] / doc_log
np_log_entropy_weight_matrix[:, col_i] = local_weight_j
&#13;