js 面试题
/** * 1. 从文本中找出单词的首字母并互换大小写(data 为示例数据结构, 实际可能更复杂) */ (function () { let data = "this is A string for Testing"; function findAndReverse(data) { let str = data.split(' '); for (let i = 0; i < str.length; i++) { if (str[i][0] >= 'a' && str[i][0] <= 'z') { str[i] = str[i][0].toUpperCase() + str[i].substring(1, str[i].length); } else if (str[i][0] >= 'A' && str[i][0] <= 'Z') { str[i] = str[i][0].toLowerCase() + str[i].substring(1, str[i].length); } } let arr = str.join(' '); console.log(arr) } findAndReverse(data) })();
/**
* 3. 排序一个数组(data 为示例数据结构, 实际可能更复杂)
* {name: '一山', surname: '张', address: '某地', area: '北京'}
surname, address 可能为空, area 只能是 "北京", "上海","深圳","福州", "厦门"
;
*/
/**
* 3.1 "surname" + "name" + "address" 按升序排序
*/
(function () {
let data = [{ name: '一山', surname: '张', address: '西藏', area: '北京' },
{ name: '一山', surname: '李', address: '厦门', area: '上海' },
{ name: '尚山', surname: '王', address: '宁夏', area: '福州' },
{ name: '一山', surname: '张', address: '福建', area: '厦门' },
{ name: '五山', surname: '张', address: '北京', area: '北京' }];
function sortData(data) {
var compare = function (field1, field2, field3) {
return function (obj1, obj2) {
if (obj1[field1] > obj2[field1]) {
return -1;
} else if (obj1[field1] < obj2[field1]) {
return 1;
} else {
if (obj1[field2] > obj2[field2]) {
return -1;
} else if (obj1[field2] < obj2[field2]) {
return 1;
} else {
if (obj1[field3] > obj2[field3]) {
return 1;
} else if (obj1[field3] < obj2[field3]) {
return -1;
} else {
return 0;
}
}
}
}
}
console.log(data.sort(compare('name', 'surname', 'address')))
}
sortData(data)
})();
/**
* 3.2 按北京 > 上海 > 深圳 > 厦门 > 福州 排序
*/
(function () {
let data = [{ name: '一山', surname: '张', address: '西藏', area: '北京' },
{ name: '一山', surname: '李', address: '厦门', area: '上海' },
{ name: '尚山', surname: '王', address: '宁夏', area: '福州' },
{ name: '一山', surname: '张', address: '福建', area: '厦门' },
{ name: '五山', surname: '张', address: '北京', area: '北京' }];
function sortData(data) {
var compare = function (field1) {
return function (obj1, obj2) {
let provience = ['北京', '上海', '深圳', '厦门', '福州']
for (let i=0 ;i< provience.length;i++){
if(obj1[field1]==provience[i]&&obj2[field1]!=provience[i]){
return -1;
}else if(obj1[field1]==provience[i]&&obj2[field1]==provience[i]){
return 0;
}else if(obj1[field1]!=provience[i]&&obj2[field1]==provience[i]){
return 1;
}
}
}
}
console.log(data.sort(compare('area')))
}
sortData(data)
})();
本文来自博客园,作者:Janni,转载请注明原文链接:https://www.cnblogs.com/janni/p/12076430.html

浙公网安备 33010602011771号