1>内容居中:
http://www.qianduan.net/css-to-achieve-the-vertical-center-of-the-five-kinds-of-methods/
2> 任意的一个数组,返回该数组的元素,以及元素出现的个数。
var arrayString = ['1', '1', '2', '2', '2', '3', '3', '3'];
//-- > 1: 2 2: 3 3: 3
回答1:
var result = [{
name: arrayString[0],
value: 1
}];
for (var i = 1; i < arrayString.length; i++) {
var num = arrayString[i];
var hasNew = 0;
for (var j = 0; j < result.length; j++) {
if (result[j].name == num) {
result[j].value++;
} else {
hasNew++;
}
};
if (hasNew == result.length) {
result.push({
name: num,
value: 1
});
}
hasNew = 0;
};
回答2:
//----------------
var arr = [1,1,1,2,2,2,2,4,4,4,4,2,2,2,3,3,3];
var result = {};
for(var i in arr){
var param = "param"+arr[i];
if(result.hasOwnProperty(param)){
result[param] += 1;
}else{
result[param] = 1;
}
}
console.log(JSON.stringify(result));
3> 现在有以下数组var array = [12,34,16,23,19,42,31,30,41,50,81];或其他任意两位数的数字,现在需要你将数组拆分成两个数组。规则为:如果两个数的和大于5,将该数字放在一个集合,如果小于5,放在另外一个集合。例如10: 1 + 0 =1 < 5 放在a集合 45: 4+5=9>5 放在另外一个集合
var array = [12,34,16,23,19,42,31,30,41,50,81];
var result = [];//<5
var anotherResult = [];//>5
var sum;
var arrayString;
for (var i = 0; i < array.length; i++) {
sum = 0;
arrayString = array[i].toString();
sum = parseInt(arrayString.substring(0,1)) + parseInt(arrayString.substring(1,2));
if (sum<5) {
result.push(array[i]);
}else{
anotherResult.push(array[i]);
}
};
console.log(result);
console.log(anotherResult);
4>1+2+3+4+5+6+7+...+n ,不用if,switch 等判断,也不用for循环,得出最后的值。
var num = 0;
var addFunction = function f(valueN){
num = num+ valueN;
valueN = valueN-1;
console.log(num);
var trueFalseValue = (valueN>0) && true;
return trueFalseValue && f(valueN);
};
addFunction(5);