-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
['zm', 'za', 'b', 'lm', 'ln', 'k'] #104
Comments
为啥这题没有题目描述,漏掉了吗😂 |
实现一个函数, const arr = ['zm', 'za', 'b', 'lm', 'ln', 'k']
function parse(arr){
let obj = {}
arr.forEach(item => {
let key = item.slice(0,1)
obj[key] = [];
});
for(let str of arr){
for(let index in obj){
if(str.slice(0,1) == index){
obj[index].push(str);
}
}
}
return obj;
}
console.log(parse(arr)) |
// 实现一个函数,
// 把一个字符串数组([‘zm’, ‘za’, ‘b’, ‘lm’, ‘ln’, ‘k’]) 格式化成一个对象
// { ‘b’: [‘b’], ‘k’: [‘k’], ‘l’: [‘lm’, ‘ln’], ‘z’: [‘za’, ‘zm’] }
function toObj(arr) {
let map = new Map();
for (const str of arr) {
let char = str[0];
if (map.has(char)) {
let temp = map.get(char);
temp.push(str);
map.set(char, temp);
} else map.set(char, [str]);
}
let res = {};
map.forEach((val, key) => {
res[key] = val;
});
// console.log(res);
return res
}
let arr = ["zm", "za", "b", "lm", "ln", "k"];
console.log(toObj(arr));
|
function format(arr){
const res = {};
for(let item of arr){
const char = item.slice(0, 1);
!res[char] ? (res[char] = [item]) : (res[char].push(item));
}
return res;
} |
function formatArrayToObject(arr) {
var result = {};
for (var i = 0; i < arr.length; i++) {
var firstLetter = arr[i][0]; // 获取字符串的第一个字符
if (!result[firstLetter]) {
result[firstLetter] = []; // 如果结果对象中还没有这个字符作为属性,则添加它,并初始化为空数组
}
result[firstLetter].push(arr[i]); // 将当前字符串添加到对应的数组中
}
// 对每个键值对应的数组进行排序
for(var key in result){
result[key].sort();
}
return result;
}
console.log(formatArrayToObject(['zm', 'za', 'b', 'lm', 'ln', 'k'])); // { ‘b’: [‘b’], ‘k’: [‘k’], ‘l’: [‘lm’, ‘ln’], ‘z’: [‘za’, ‘zm’] } |
|
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
No description provided.
The text was updated successfully, but these errors were encountered: