1.给定一个随机数组,数组可能包含数组(也就是说数组元素可能为数组)。要求用js实现一个函数,返回该数组中所有元素。例如,例如:数组[2,3,[4,6,[1,8]],12,10],返回结果为:[2,3,4,6,1,8,12,10]
function getArray(arr) { var arrs = []; for(var i=0,l=arr.length;i < l;i++) { if(!Array.isArray(arr[i])) arrs.push(arr[i]); else arrs = arrs.concat( getArray(arr[i]) ); } return arrs;}2.用js实现随机选取10–100之间的不同的10个数字,存入一个数组,并降序排序
var aArray = []; var i = 0; for (i = 0; i < 10; i++) { randomNub(); } aArray.sort(function (a, b) {return b - a }); document.write(aArray) function randomNub() { var nowNub = parseInt(Math.random() * 100); if (nowNub < 10) { randomNub(); return; } for (var j = 0; j < aArray.length; j++) { if (nowNub == aArray[j]) { randomNub(); return; } } aArray.push(nowNub); } ```> 3.下面代码希望在点击每段内容的时候给它加个灰色背景,可是下面这段代码好像没有满足需求,请帮忙修改下。for (var i = 0; i < document.getElementsByTagName('p').length; i++) { var item = document.getElementsByTagName('p') [i]; (function (j) { document.getElementsByTagName('p') [i].onclick = function () { item.style.backgroundColor = '#eee'; } }(i))}//修改后for (var i = 0; i < document.getElementsByTagName('p').length; i++) { var item = document.getElementsByTagName('p') [i]; (function (j) { document.getElementsByTagName('p') [i].onclick = function () { this.style.backgroundColor = '#eee'; } }(i))}```4.为字符串实现一个render方法,实现下面的变量替换功能
var greeting = 'my name is ${name}, age ${age}'; var result = greeting.render({name: 'XiaoMing', age: 11}); console.log(result); //my name is XiaoMing, age 11 String.prototype.render = function (Object) { var _$this = this; var keys = new Array(); for (var p in Object) if (Object.hasOwnProperty(p)) keys.push(p); for (i = 0; i < keys.length; i++) { (function (index) { var s = '${' + keys[index] + '}'; str = _$this.replace(s, Object[keys[index]]); _$this = str; }) (i); } return str } var greeting = 'my name is ${name}, age ${age}'; var result = greeting.render({ name: 'XiaoMing', age: 11 }); console.log(result);//my name is XiaoMing, age 11 other: String.prototype.render = function (Object) { var _this = this; for (var p in Object) if (Object.hasOwnProperty(p)) { var s = '${' + p + '}'; str = _this.replace(s, Object[p]); _this = str; } return str } var greeting = 'my name is ${name}, age ${age}'; var result = greeting.render({ name: 'XiaoMing', age: 11 }); console.log(result); //my name is XiaoMing, age 11 ```> 5.对json格式中的某一字段进行排序eg:var stuJson = [{ name: “daming”, age: 21, weight: 66, sex:”boy” }, { name: “lisa”, age: 19, weight: 45, sex:”girl” }, { name: “lili”, age: 20, weight: 50, sex:”boy”}]; //eg:按age升序 stuJson.sort(function(a,b){ return a.age – b.age; }); console.log(stuJson);//[ { name: ‘lisa’, age: 19, weight: 45, sex: ‘girl’ }, //{ name: ‘lili’, age: 20, weight: 50, sex: ‘boy’ }, //{ name: ‘daming’, age: 21, weight: 66, sex: ‘boy’ } ]
> 6.用一句语句对数组去最小或最大值eg:var arr = [32,42,12,42,21,23,56,75,3,33,53,23,36]; var aMin = Math.min.apply(null,arr); console.log(min);//3 var aMax = Math.max.apply(null,arr);//75 console.log(aMax);



