Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
232 views
in Technique[技术] by (71.8m points)

javascript - Compare a array and an object array and push the contents into the new array according to the value specified

data = [ '1', '2','2] objlist = [ { name : 'dummy' } , {name: 'new' }, { name : 'news'},{name : 'place'}....] - 5 objects

result = [ [{name:'dummy'}], [{name:'new'},{name:'news'}],[{name : 'place'},...]]

the desired result is the result array required. I am not able to proceed further as I am new and also have a doubt like is this possible or not, if it is suggestions or working code in javascript would be helpful, thank you

what i wanted for example if array data has values as ['1','2','2'] the result object array which has all the elements in one place should be sliced and made into this - [[{obj1}],[{obj2},{obj3}],[{obj4},{obj5}]]

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You could push sliced parts to the result.

let array = [1, 2, 2],
    objlist = [{ name: 'dummy' }, { name: 'new' }, { name: 'news' }, { name: 'place' }, { name: 'place' }],
    result = [],
    i = 0,
    j = 0;
    
while (j < array.length) {
    result.push(objlist.slice(i, i += array[j++]));
}

console.log(result);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...