function bouncer(arr) {
// Don't show a false ID to this bouncer.
function a(b) {
if(b !== false) {
return b;
}
}
arr = arr.filter(a);
return arr;
}
bouncer([7, 'ate', '', false, 9]);
Run Code Online (Sandbox Code Playgroud)
我只需返回真正的布尔语句,当我运行此代码时,它可以工作.但是,我很困惑,因为我的"if语句"将起作用,无论是b!== true还是b!== false.有人可以解释一下这两种方式的原因吗?
function largestOfFour(arr) {
for(var i = 0; i < arr.length; i++) {
var largest = Math.max.apply(Math, arr[i]);
return largest;
}
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
Run Code Online (Sandbox Code Playgroud)
我需要从每个erray中返回最大的数字.当我使用console.log运行我的代码时,它打印出每个数组的最大数量但是当我返回它时,只返回数组0中的最大数字.谁能帮我这个?
我正在尝试测试一个数组是否有数字1到9.我有9个不同的数组要测试,所以我试图逐个循环数组并将其转换为字符串并测试该数组是否有数字当我输出我的代码时,它出现了
[true, true, true, true, true, true, true, true, false]
Run Code Online (Sandbox Code Playgroud)
最后一个应该是假的,因为数组[8]不包含从1到9的所有数字.我不确定我的正则表达式编码是否错误,但是对于应该为假的数组,测试打印出true.
function doneOrNot(board){
var numberTest = /[1-9]/g;
var boardStr = "";
var boardTest;
var testResult = [];
for(var i = 0; i < board.length; i++) {
boardStr = board[i].toString();
boardTest = numberTest.test(boardStr);
testResult.push(boardTest);
console.log(boardStr);
}
console.log(testResult);
}
doneOrNot([[5, 3, 4, 6, 7, 8, 9, 1, 2],
[6, 7, 2, 1, 9, 0, 3, 4, 9],
[1, 0, 0, 3, 4, 2, 5, 6, 0],
[8, 5, 9, 7, 6, 1, …
Run Code Online (Sandbox Code Playgroud) function sumAll(arr) {
var list = [];
for (var i = arr[0]; i <= arr[1]; i++) {
list.push(i);
}
var total = list.reduce(function(a, b) {
return a + b;
});
return total;
}
sumAll([10, 5]);
//sumAll([1, 4]); //returns 10
//sumAll([5, 10]); //returns 45
//sumAll([4, 1]);
Run Code Online (Sandbox Code Playgroud)
我需要对给定参数之间的每个数字求和.为sumAll([1, 4])
和sumAll([5, 10])
.代码将通过,因为它会在两个参数之间创建所有数字并添加它.但是,对于sumAll([10, 5])
和sumAll([4, 1])
,因为更大的数字是第一个参数,我相信它不会运行var list.我尝试.sort()
在两者之间使用方法,以便对数字进行排序但无法使其工作.我如何使用Math.min()
和Math.max()
使用此代码?
我怎样才能分割一个字符串,例如
'11+4+3'
进入['11', '+', '4', '+', '3']
?
甚至转动数组
[1, 1, '+', 4, '+', 3]
进入[11, '+', 4, '+', 3]
?
使用正则表达式分割字符串
/[^0-9]/g
Run Code Online (Sandbox Code Playgroud)
将分割成我想要的数字,但会删除操作值。我需要一种方法来保留操作值。我还知道eval()
字符串会自动将字符串值添加到数字值中,但我试图弄清楚如何在不使用eval()
.
我需要一种方法来检查数组是否只包含数字.例如
var a = [1,2,3,4] should pass and give true boolean
whereas var b = [1,3,4,'a'] should give false
Run Code Online (Sandbox Code Playgroud)
我试过forEach()函数为
a.forEach(function(item, index, array) {
if(!isNaN(item)) {
array.unshift("-");
}
}); //console.log of this will give array a = ["-","-","-","-", 1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
但是,因为,forEach()遍历数组中的每个索引,并且因为var a的每个项都是一个数字,所以它会对它迭代的每个项目进行数组处理.如果整个数组值是一个数字,我需要一种方法只取消" - "一次.
我也尝试过test()
var checkNum = /[0-9]/;
console.log(checkNum.test(a)) //this gives true
console.log(checkNum.test(b)) // this also gives true since I believe test
//only checks if it contains digits not every
//value is a digit.
Run Code Online (Sandbox Code Playgroud) function pair(str) {
var dna = [];
var dnaarr = [];
for(var i = 0; i < str.length; i++) {
if(str[i].indexOf('G') === 0) {
var a = dna.push('C');
}
if(str[i].indexOf('C') === 0) {
var b = dna.push('G');
}
if(str[i].indexOf('A') === 0) {
var c = dna.push('T');
}
if(str[i].indexOf('T') === 0) {
var d = dna.push('A');
}
}
for(var j = 0; j < str.length; j++) {
var e = dnaarr.push(str[j]);
var f = dnaarr.push(dna[j]);
}
return dnaarr;
}
pair("ATGCG");
Run Code Online (Sandbox Code Playgroud)
当我运行此代码时,它返回 …